【发布时间】:2021-05-04 13:33:38
【问题描述】:
我正在使用 conda 环境和一些使用 pip install -e 安装的本地软件包。
有时我需要以 root 身份运行脚本。这样做时,我明确使用 conda 环境,但它找不到我的本地包。不使用sudo 时,一切正常。
$ /path/to/env/bin/python -c "import my_module" --> works fine
$ sudo /path/to/env/bin/python -c "import my_module"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'my_module'
我也尝试过像这样持久化环境:
$ sudo -E /path/to/env/bin/python -c "import my_module"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'my_module'
设置:
- Ubuntu 18.04
- python 3.7.10
【问题讨论】:
-
环境激活了吗?
-
我在调用 Python 或像
/path/to/env/bin/python|pip这样的 pip 时直接引用环境,所以这不应该是问题,根目录的 python/pip 链接也不会出现任何意外 -
激活环境时还会发生其他一些事情,但我不确定这是否是这里问题的一部分。