我正在尝试以 root 身份运行 Pipenv python 实例。不以 root 身份运行时:
(myenv) $ python script.py
Pipenv python 使用正确。但是,当以 root 身份运行时sudo
:
(myenv) $ sudo python script.py
/usr/bin/python
而是使用系统默认的python at 。经过一番搜索,我找到了-E
sudo 的选项。然而,随着
(myenv) $ sudo -E python script.py
它仍然使用/usr/bin/python
,即使sudo -E echo $PATH
给出相同的echo $PATH
,所以该-E
选项工作正常;但是,sudo -E which python
继续给/usr/bin/python
!这不是权限或访问问题,因为 Pipenv python 的完整路径可以正常工作。即使$PATH
设置正确,为什么使用错误的二进制文件?