我在虚拟环境之外安装了一个包,但在虚拟环境中无法使用它。

4
我已经在使用pipenv创建的虚拟环境之外安装了Pillow包。但是当我尝试在此环境中为我的Django项目进行迁移时,它会显示Pillow未安装并要求安装它。我认为我已经全局安装了Pillow,但它不能被pipenv虚拟环境访问。我使用的是Python 3.8,并使用Sublime3作为编辑器。

你能在你的虚拟环境中打印出sys.path吗?你全局pillow的位置在哪里? - Azamat Galimzhanov
这是有意设计的,虚拟环境无法访问系统范围内安装的模块。为了防止这种行为,请在创建虚拟环境时使用“--system-site-packages”选项。对于pipenv,我认为标志是“--site-packages”。 - jordanm
正确。可以按照上述建议使用 --system-site-packages 重新创建一个新的Python环境以包括全局软件包。然后在将来,如果您只想在您的环境中使用软件包,请确保在运行 pip install 命令之前已经激活了您的环境。 - Josh
@AzamatGalimzhanov 我可以在我的 venv 中打印出 sys.path。全局 pillow 的位置是 c:\Program Files\Python38\Lib\Site-packages,我应该将此路径添加到我的 venv 吗?如何添加? - Gagan karanth
1
问题已解决。我在pyvenv.cfg文件中将include-system-site-packages更改为true。 - Gagan karanth
1个回答

1
全局安装的软件包在虚拟环境中不可用。 您可以使用命令python -m pip install Django安装Django。 使用pip list列出所有已安装的软件包。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接