我在我的项目中使用Pycharm创建和管理我的virtualenv。
问题在于,在使用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
激活的情况下也有效。
此外,在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
命令:pip Frozen> requirements.txt
该标准可以使您理解,文件中的模块是应用程序正确运行所必需的。这样,virtualenv
当您在另一台计算机上安装程序时,就可以轻松排除该文件夹,因为您可以随时了解全新安装的要求。但是,您可以根据需要使用该命令。