如何使用VM和PyCharm配置自定义PYTHONPATH?

问题描述 投票:64回答:8

我使用IntelliJ与Python插件和Remote Interpreter feature与我的Vagrant VM进行通信。它正确设置远程解释器以使用我的VM解释器。但是,我在我的VM中使用自定义PYTHONPATH,我希望IntelliJ识别该路径并在开发时将模块包含在该路径中。

如何配置IntelliJ / PyCharm的远程解释器以在VM上使用自定义PYTHONPATH?

intellij-idea pycharm pythonpath
8个回答
107
投票

对于PyCharm 5(或2016.1),您可以:

  1. 选择首选项>项目解释器
  2. 在解释器选择器右侧有一个“...”按钮,单击它
  3. 选择“更多......”
  4. 弹出一个新的“项目口译员”窗口
  5. 选择最右边的按钮(名为“显示所选解释器的路径”)
  6. 弹出“解释器路径”窗口
  7. 单击“+”按钮>选择所需的PYTHONPATH目录(包含python模块的文件夹),然后单击“确定”。
  8. 完成!好好享受!

enter image description here

enter image description here

enter image description here enter image description here


76
投票

编辑PYTHONPATH或修复代码检查导入解决问题的说明如下:

  1. 打开首选项(在Mac上,键盘快捷键是⌘,)。

  1. Project Structure下左侧边栏中查找Project: Your Project Name
  2. 在右侧边栏上添加或删除模块

编辑:我更新了PyCharm 4.5的屏幕截图


14
投票

对我来说解决方案就是去

Run > Edit Configuration > Defaults > Python

然后管理

  • “将内容根添加到PYTHONPATH”和
  • “将源根添加到PYTHONPATH”

复选框,以及设置“工作目录”字段。

如果您已经设置了自己的运行/调试配置,那么您可能希望转到

Run > Edit Configuration > Python > [Whatever you called your config]

并在那里编辑它。

我的问题是我希望将我的整个存储库包含在我的PyCharm 2016.2项目中,但只有一个子文件夹才是实际的python源代码根目录。我通过右键单击文件夹将其添加为“Source Root”

Mark directory as > Source Root

然后取消选中“将内容根添加到PYTHONPATH”并在“运行/调试”配置菜单中选中“将源根目录添加到PYTHONPATH”。然后,我通过执行以下操作检查文件夹路径:

import sys
logger.info(sys.path)

这个结果:

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

然而,没有修复它说:

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root',                   <-- NOT WANTED
    '/usr/lib/python3.4', 
    '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

这意味着我得到了项目根文件夹。这弄乱了我的路径。


3
投票

这是通过PyCharm Community 2019.1完成的

  1. 转到项目设置Settings
  2. 转到项目结构并右键单击要添加的目录,然后单击“源”Project Structure - add sources

这应该将目录添加到pythonpath Project Structure - after add sources


2
投票

根据我的经验,使用PYTHONPATH变量通常是错误的方法,因为它与Windows上的VENV不能很好地协作。加载PYTHON将通过将PYTHONPATH添加到路径来准备路径,这可能导致您精心准备的Venv优先获取全局站点包。

而不是使用PYTHON路径,在相关的site-packages目录中包含pythonpath.pth文件(虽然要注意自定义pythons偶尔会在不同的位置查找它们,例如enthought看起来与python.exe在同一目录中的.pth文件)每个虚拟环境。这将像PYTHONPATH一样,只是特定于python安装,所以你可以为每个python安装/环境分别设置一个。如果您只是将VENV的python作为python安装,那么Pycharm与VENV强烈集成。

参见例如this SO question有关.pth文件的更多详细信息....


0
投票

那么你可以通过翻译的对话框来做到这一点。单击您正在使用的解释器,在其下方,您应该看到两个选项卡,一个名为Packages,另一个名为Path。

单击Path,然后将VM路径添加到其中。


0
投票

在pycharm 5中,按照这个,https://www.jetbrains.com/pycharm/help/configuring-python-interpreter-for-a-project.html

1)打开“设置”对话框,然后单击“项目解释器”页面。 2)在“项目”窗格中,选择所需的项目。 3)对于所选项目,从可用的Python解释器和虚拟环境列表中选择SDK。


0
投票

在Intellij v2017.2中,您可以访问:

run > edit configurations > click ... next to the field 'Environment variables' > click the green + sign

名字= PYTHONPATH

value = your_python_path

© www.soinside.com 2019 - 2024. All rights reserved.