我有一个conda环境conda_env
,我在Visual Studio Code上的Jupyter笔记本中激活了它。该环境包含同时使用conda install
和pip install
安装的软件包。
笔记本驻留在远程服务器上的 Unix 外壳中。我能够导入使用 conda 安装并驻留在环境路径 (miniconda/envs/conda_env/...
) 中的软件包。但是,当我尝试导入使用 pip 安装的软件包时,导入失败。
ModuleNotFoundError: No module named 'django-extensions'
如果我在 conda 环境内的命令行上启动 Python 环境,我可以导入包。下面显示了找到包的路径。
import django_extensions
print(django_extensions.__file__)
# ~/.local/lib/python3.9/site-packages/django_extensions/__init__.py
我最终找到了解决方法,将这一行放入笔记本中。
sys.path.append("~/.local/lib/python3.9/site-packages/")
我的问题是,有没有办法在整个 VSC 中执行此操作,而无需手动将该行放入每个笔记本中?
谢谢!
事实上
sys.path.append("~/.local/lib/python3.9/site-packages/")
">解决"该问题表示软件包是使用未安装到环境中的pip install --user
安装的,通常不建议 Conda 用户使用。如果您希望在环境中使用 Pip 进行安装,请不要使用--user
标志。
在用户站点中安装软件包会导致用户混淆,我建议用户完全避免使用它们(删除任何~/.local/lib/python*
)或conda-forge::conda-ecosystem-user-package-isolation
安装软件包。