我正在将IntelliJ与Python插件和Remote Interpreter功能配合使用,以与我的Vagrant VM通信。它正确设置了远程解释器以使用我的VM的解释器。但是,我在VM中使用了自定义的PYTHONPATH,并且我希望IntelliJ能够识别该路径,并在开发时将模块包括在该路径中。
如何配置IntelliJ / PyCharm的远程解释器以在VM上使用自定义PYTHONPATH?
我正在将IntelliJ与Python插件和Remote Interpreter功能配合使用,以与我的Vagrant VM通信。它正确设置了远程解释器以使用我的VM的解释器。但是,我在VM中使用了自定义的PYTHONPATH,并且我希望IntelliJ能够识别该路径,并在开发时将模块包括在该路径中。
如何配置IntelliJ / PyCharm的远程解释器以在VM上使用自定义PYTHONPATH?
Answers:
有关编辑PYTHONPATH或解决导入检查问题以进行代码检查的说明,如下所示:
⌘,
)。Project Structure
在左侧的边栏中查找Project: Your Project Name
在右侧栏中添加或删除模块
编辑:我已经为PyCharm 4.5更新了此屏幕截图
对我来说解决方案是去
Run > Edit Configuration > Defaults > Python
然后管理
复选框,以及设置“工作目录”字段。
如果您设置了自己的“运行/调试配置”,则可能需要转到
Run > Edit Configuration > Python > [Whatever you called your config]
并在那里编辑。
我的问题是我想将整个存储库包含在我的PyCharm 2016.2项目中,但是实际的python源代码根只有一个子文件夹。我通过右键单击该文件夹将其添加为“源根目录”
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'
]
这意味着我包括了项目根文件夹。这使我迷路了。
sys.path
部分)
Run > Edit Configuration > Templates > Python
。
以我的经验,根本不使用PYTHONPATH变量通常是错误的方法,因为它在Windows上不能很好地与VENV配合使用。加载时的PYTHON将在路径之前添加PYTHONPATH来准备路径,这可能导致精心准备的Venv优先获取全局站点包。
而不是使用PYTHON路径,而是在相关的site-packages目录中包含一个pythonpath.pth文件(尽管要注意,自定义python有时会在不同的位置查找它们,例如,对于.pth文件,它们看起来与python.exe在同一目录中),每个虚拟环境。这将像PYTHONPATH一样,只是它特定于python安装,因此对于每个python安装/环境,您可以有一个单独的目录。如果您只是将VENV的python作为python安装,则Pycharm与VENV紧密集成。
请参阅例如此SO问题以获取有关.pth文件的更多详细信息。
那么,您可以通过进入口译员的对话框来完成此操作。单击您正在使用的解释器,在它下面,您应该看到两个选项卡,一个称为Packages,另一个称为Path。
单击路径,然后将您的VM路径添加到该路径。
/home/vagrant/mydir
)时会抱怨。我需要在路径前加些东西吗?我的界面有所不同,因为我将IntelliJ与Python插件一起使用,如果有帮助,则不使用PyCharm。