繁体   English   中英

在虚拟环境中找不到 pip 安装的包

[英]pip installed packages not found in virtual environment

我在 Windows 10 上的 VS 代码中使用 venv,它一直抛出ModuleNotFoundError ,即使我已经尝试过py -m pip install <package name> 最奇怪的部分是pip freezepip list什么都不返回。

如果我导航到env/Lib/site-packages文件夹,我可以看到包文件夹已经存在,所以我假设包已经安装。

我认为值得注意的是,上述问题仅在我激活虚拟环境后发生,并且当我不在venvpip freeze仍然正常工作。

一些细节:(如果需要可以提供更多)

  • 窗户 10
  • VS 代码 1.59.0
  • 蟒蛇 3.9.6 64 位

提供的任何帮助将不胜感激!

您的pip命令(如pip freeze命令)可能不是绑定到您的venv 与安装命令类似,尝试py -m pip freeze然后检查是否安装了包。

你如何运行你的python程序? 只使用python scripty.py吗? 尝试检查您的 python 正在使用哪些site-packages

python -c "import site; print(site.getsitepackages()[0])"

然后检查你的包的安装位置: py -m pip show <package-name>

它应该提供有关包裹的信息,包括其位置。 检查这是否与上一个命令中显示的位置相同。

如果位置不同,则说明您使用的是未相互绑定的 python 和 pip

查询仍不清楚。 你能显示抛出的确切错误消息吗? ModuleNotFoundError之后的ModuleNotFoundError

pip 是一个包安装程序,当你创建一个新的虚拟环境时它默认存在

如果错误仍然存​​在,你可以试试这个:

pip freezepip list不显示任何内容的第一个原因是您的虚拟环境中没有安装任何软件包。 如果它没有抛出任何其他错误消息,则意味着它工作正常并显示一个空列表。 这些软件包可以安装在虚拟环境之外。

第二个原因是您的软件包安装程序pip以某种方式从虚拟环境中卸载。 但是在这种情况下,每当您使用任何 pip 命令时,它总是会引发错误,例如'pip' module not found.

解决这个问题(第二个原因

  • 您可以简单地停用虚拟环境并创建一个新环境。 python -m venv new_env_name 然后使用requirements.txt文件一次安装所有库。
  • 或者您将不得不在您的虚拟环境中手动下载并安装pip 由于我觉得它很麻烦,我更喜欢以前的解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM