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

2024-04-30 21:14:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用IntelliJ和Python插件以及Remote Interpreter feature来与我的流浪虚拟机通信。它正确地设置了远程解释器以使用VM的解释器。但是,我在VM中使用了一个自定义PYTHONPATH,我希望IntelliJ能够识别出这条路径,并在开发时在该路径中包含模块。

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


Tags: 模块路径插件远程remotevm解释器feature
3条回答

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

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

How to get to Settings from Menu

  1. Project: Your Project Name下左侧的边栏中查找Project Structure

  2. 添加或删除右侧栏上的模块

Project Structure Settings in Pycharm 4.5

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

对于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 hereenter image description here

对我来说解决办法是

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'
]

这意味着我包含了项目根文件夹。这把我的路搞砸了。

相关问题 更多 >