我使用 Pycharm 在我的项目中创建和管理我的 virtualenvs。
问题是使用pycharm添加库后,当我输入命令(pip3 freeze --user
)时,该库没有出现在命令结果中。
我必须手动输入 pip install
每次命令,以便库可见。
我应该在 PyCharm 中做什么操作来解决这个问题?
最佳答案
对于您所说的,首先想到的是您应该使用:
pip freeze
并不是
pip3 freeze
因为该命令映射到
pip
激活 virtualenv 时的版本是第一个。请注意,对于安装,您似乎使用 pip
, 而不是 pip3
此外,
--user
选项 afaik 与安装在用户文件夹中的软件包有关:--user Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)
如果您的软件包安装在 virtualenv 文件夹中,我会告诉您不要使用该选项。
另外请确保您的 virtualenv 已激活。在 linux 中,您可以通过
source path/to/virtualenv/activate
执行此操作编辑
我了解您使用
pip3
的原因是因为您的机器中可能有不同版本的 Python。让我进一步解释一下它是如何工作的,因为版本管理通常是许多程序员头疼的问题,并且在这样做时经常会发现问题。如果你在你的 linux 机器上安装不同版本的 Python,并且你以 root 身份安装,那么整个系统的安装将继续进行。通常Linux机器的Python2安装文件夹是
/usr/bin/python
.但是,我不确定哪个目录用于 Python3 安装。您可以通过 whereis python3
轻松检查。 .您可以通过执行 whereis command
来搜索任何命令的二进制路径。 .请注意,这也适用于 whereis python
只要你没有virtualenv
active 。此外,命令二进制文件的链接(或更广泛地说是要执行的指令集)在 Linux 中的某些文件夹中定义,具体取决于您是作为 root 还是作为用户创建命令,也可能在发行版。这在 Windows 中的工作方式有所不同,它使用注册表编辑实用程序来处理命令映射。当您启用您的 virtualenv 时,您所做的是创建一个启用映射系统命令的环境,例如
python
到您的 virtualenv 文件夹中的 Python 安装。当您禁用 virtualenv 时,该命令将再次指向默认安装路径。 pip 也是如此,因此不正确地使用此工具可能会导致不同的软件包安装在不同的位置,因此在任何给定情况下都无法用于正确的 Python 版本。
In Linux, environment variables are shell dependent, though you can write them out with echo $variable and set them with variable=value (from bash). The search path is simply called PATH and you can get yours by typing echo $PATH.
来源:https://askubuntu.com/a/262073/426469
我鼓励您检查 SE 网络中的其他问题,例如:https://unix.stackexchange.com/a/42211/96121 ,以了解更多信息。
附录
快速提示:通常使用
pip freeze
命令如下:pip 卡住> requirements.txt
这是一个标准,可以让您了解此类文件中的模块是应用程序正常运行所必需的。这使您可以轻松排除
virtualenv
当您在另一台计算机上安装程序时,您可以轻松了解全新安装的要求。但是,您可以根据需要使用该命令。
关于python-3.x - Pip freeze 不显示新安装的 Pycharm 软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51899339/