我使用Pycharm在我的项目中创建和管理虚拟环境。
问题在于,在使用pycharm添加库之后,当我键入命令(pip3 freeze --user
)时,该库不会出现在命令结果中。
我每次必须手动键入pip install
命令,以便库可见。
我应该在PyCharm中执行哪些操作来解决此问题?
答案 0 :(得分:4)
对于您所说的,首先想到的是您应该使用:
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文件夹中,我会告诉您不要使用该选项。
还请确保已激活您的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
。
另外,在Linux的某些文件夹中定义了命令二进制文件(或将要执行的指令集,更广泛的说)的链接,具体取决于您是以root用户还是以用户身份创建命令。也在发行版上。这在Windows中的工作方式有所不同,Windows使用注册表编辑实用程序来处理命令映射。启用virtualenv时,您正在做的是创建一个环境,以将诸如python
之类的系统命令映射到virtualenv文件夹中的Python安装。
禁用virtualenv时,该命令再次指向默认安装路径。 pip也会发生同样的情况,因此错误使用此工具可能会导致将不同的软件包安装在不同的位置,因此在任何给定的情况下都无法显示适用于正确的Python版本。
在Linux中,环境变量取决于外壳程序,尽管您可以使用echo $ variable将其写出并使用variable = value设置它们(来自bash)。搜索路径简称为PATH,您可以通过键入echo $ PATH来获取搜索路径。
来源:https://askubuntu.com/a/262073/426469
我建议您检查SE网络中的其他问题,例如:https://unix.stackexchange.com/a/42211/96121,以了解有关此问题的更多信息。
快速提示:通常使用pip freeze
命令如下:
点冻结> requirements.txt
该标准可以使您理解,文件中的模块是应用程序正常运行所必需的。这样,当您在另一台计算机上安装程序时,就可以轻松排除virtualenv
文件夹,因为您可以很容易地知道全新安装的要求。但是,您可以根据需要使用该命令。