【问题标题】:Make a PyCharm project inheriting global site-packages, after creating the project?创建项目后,创建一个继承全局站点包的 PyCharm 项目?
【发布时间】:2019-03-26 01:05:49
【问题描述】:

我是 PyCharm 和 Mac OS 的新手。我使用 VirtualEnv 在 PyCharm 中创建了一个 python 项目,但我没有选择“继承全局站点包”选项。在这个项目上工作了一段时间后,我意识到我需要继承一些全局安装的包。

这里有一个解决方法,它创建一个共享的虚拟环境并使用它:Create shared virtual env。但是,我想知道是否有任何方法可以对当前项目进行更改,而不是创建新项目或创建共享虚拟环境?


一个单独的问题:假设我有一个继承全局包的项目。如果在项目创建后,我在全局范围内安装了其他包,这些包在这个项目中是否可用?

【问题讨论】:

  • 我看到一个选项是使用继承全局站点包选项创建新的虚拟环境,如果您想在不同项目之间共享环境,请选择对所有项目可用。或者直接选择安装的python作为解释器而不是虚拟环境。
  • 回答你的其他问题,是的,如果继承全局包设置完成,那么所有全局安装的包(即使在虚拟环境创建后安装)都将可用于项目。
  • 感谢您的回复。但是,我实际上知道新的虚拟环境技巧并添加上面的链接;但仍然想知道是否可以不创建新的虚拟环境或选择新的解释器?第二个选项实际上对我不起作用,因为当前没有全局继承的项目使用了我已经安装了很多项目特定包的虚拟环境。我不想全局安装这些包。

标签: python pycharm


【解决方案1】:

我在点击周围时发现了这一点。

  1. 在 Pycharm 中,进入 File -> Settings... -> Project -> Project Interpreter,点击菜单旁边的齿轮图标:

  2. 然后选择“Show all...”,并选择要更改的虚拟环境,单击此图标将全局包的路径添加到此 venv 的路径中

然后单击确定或应用以使其工作。通常,你的全局包的路径是“/path-to-python/Lib/site-packages”,我的桌面是:

现在您可以在 venv 中使用所有全局包。对于 Windows 以外的任何系统,这也应该可以正常工作。

但是你不会在 pycharm 的包查看器中看到这个 venv 的任何全局包,这完全有道理,因为 pycharm 只能为你管理 venv,而不是全局包。


对于您的单独问题:是的。因为您只将全局路径添加到您的 venv 中,而不是将所有包文件复制到其中。添加全局路径后,所有全局包都应该随时在您的 venv 中工作。

【讨论】:

  • documentation 表示要删除文件venv/python3.7/no-global-site-packages.txt,或者在Windows 上您可以修改venv/pyenv.cfg 并设置include-system-site-packages = true
  • @PeterWood:很棒的评论。应该是一个单独的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
  • 2020-06-20
  • 2015-02-02
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多