python-3.x - Pip freeze 不显示新安装的 Pycharm 软件包

标签 python-3.x ubuntu pip pycharm virtualenv

我使用 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/

相关文章:

python - 安装后没有名为 'tensorflow_examples' 的模块

python - 从元组列表中为每个项目创建 np.arrays 的最快方法

python-3.x - python子进程失败时如何退出

django - 在 Ubuntu 中使用 nginx 和 uwsgi 运行 Django 的问题

c - 我已经安装了 gtk 2.0 然后我编译了我的代码然后它没有找到 gtk.h?

python - pip 存在,表示没有名为 pip 的模块

python - 如何使用我的数组名称作为文件名?

python - 如何将类 "filter"的实例直接转换为 str

bash - 我如何从 BASH 中的变量追加或覆盖?

python - 如何将 python 3.9.1 设​​为我在 MacOs 上的默认版本