Pip 冻结不会显示使用 Pycharm 新安装的软件包



我使用Pycharm在我的项目中创建和管理我的虚拟环境。

问题是使用 pycharm 添加库后,当我键入命令 (pip3 freeze --user时,该库不会出现在命令结果中。

我每次都必须手动键入pip install命令,以便库可见。

我应该在 PyCharm 中进行哪些操作来解决此问题?

对于您所说的内容,首先想到的是您应该使用:

pip freeze

而不是

pip3 freeze

因为激活 virtualenv 时映射到pip版本的命令是第一个。请注意,对于安装,您似乎使用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 文件夹中,我会告诉您不要使用该选项。

另外,请确保您已激活虚拟环境。在 linux 中,你可以通过source path/to/virtualenv/activate来做到这一点

编辑

我知道你使用pip3的原因是因为你的机器中可能有不同版本的Python。让我进一步解释一下它是如何工作的,因为版本管理通常是许多程序员头疼的问题,并且在这样做时通常会发现问题。

如果您在 linux 机器中安装了不同版本的 Python,并且以 root 身份执行此操作,则整个系统的安装将继续进行。通常 Linux 机器的 Python2 安装文件夹是/usr/bin/python。但是,我不确定哪个目录用于 Python3 安装。您可以通过执行whereis python3轻松检查。您可以通过执行whereis command来将任何命令的路径设置为二进制文件。请注意,这也适用于未激活virtualenvwhereis python

另外,指向命令二进制文件(或要执行的指令集,更广泛地说(的链接是在 Linux 中的某些文件夹中定义的,具体取决于您是以 root 用户还是用户身份创建命令,也可能是在发行版上。这在 Windows 中的工作方式不同,它使用注册表编辑实用程序来处理命令映射。当您启用 virtualenv 时,您正在做的是创建一个环境,该环境允许将系统命令(如python(映射到 virtualenv 文件夹中的 Python 安装。

禁用 virtualenv 时,该命令将再次指向默认安装路径。pip 也会发生同样的情况,因此不正确地使用此工具可能会导致不同的包安装在不同的位置,因此在任何给定情况下都不适用于正确的 Python 版本。

在 Linux 中,环境变量依赖于 shell,尽管您可以使用 echo $variable 将它们写出来,并使用 variable=value(来自 bash(设置它们。搜索路径简称为 PATH,您可以通过键入 echo $PATH 来获取您的路径。

来源: https://askubuntu.com/a/262073/426469

我鼓励您检查SE网络中的其他问题,例如:https://unix.stackexchange.com/a/42211/96121,以了解更多信息。

补遗

快速提示:通常按如下方式使用pip freeze命令: 点冻结>要求.txt

这是一个标准,可以理解此类文件中的模块是应用程序正常运行所必需的。这使您在另一台计算机上安装程序时可以轻松排除virtualenv文件夹,因为您可以很容易地知道全新安装的要求。但是,您可以根据需要使用该命令。

最新更新