我正在使用带有 Python 插件和远程解释器功能的 IntelliJ 与我的 Vagrant VM 进行通信。它正确设置了远程解释器以使用我的 VM 的解释器。但是,我在我的 VM 中使用了自定义 PYTHONPATH,我希望 IntelliJ 能够识别该路径并在开发时将模块包含在该路径中。
如何配置 IntelliJ/PyCharm 的远程解释器以在 VM 上使用自定义 PYTHONPATH?
我正在使用带有 Python 插件和远程解释器功能的 IntelliJ 与我的 Vagrant VM 进行通信。它正确设置了远程解释器以使用我的 VM 的解释器。但是,我在我的 VM 中使用了自定义 PYTHONPATH,我希望 IntelliJ 能够识别该路径并在开发时将模块包含在该路径中。
如何配置 IntelliJ/PyCharm 的远程解释器以在 VM 上使用自定义 PYTHONPATH?
编辑 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'
]
这意味着我得到了项目根文件夹。这弄乱了我的路径。
更新了最新版本的 Pycharm(例如 2019.2)提供的正确答案phil 。
转到File > Settings并找到您的项目,然后选择Project Interpreter。现在单击所选项目解释器右侧带有 cog 的按钮(以前是...)。
从下拉菜单中选择Show All...,然后在打开的对话框中单击带有文件夹和两个子文件夹的图标。
您会看到一个包含当前解释器路径的对话框,单击+以添加更多。
根据我的经验,使用 PYTHONPATH 变量通常是错误的方法,因为它不能很好地与 Windows 上的 VENV 配合使用。加载时的 PYTHON 将通过将 PYTHONPATH 附加到路径来准备路径,这可能导致您精心准备的 Venv 优先获取全局站点包。
不要使用 PYTHON 路径,而是在相关的站点包目录中包含一个 pythonpath.pth 文件(尽管要注意自定义 python 偶尔会在不同的位置查找它们,例如,enthought 会在与 python.exe 相同的目录中查找其 .pth 文件)每个虚拟环境。这将像 PYTHONPATH 一样,只是它特定于 python 安装,因此您可以为每个 python 安装/环境单独设置一个。如果您只是将 VENV 的 python 作为您的 python 安装,Pycharm 与 VENV 紧密集成。
有关 .pth 文件的更多详细信息,请参见例如这个 SO question ....
好吧,您可以通过转到口译员的对话框来做到这一点。单击您正在使用的解释器,在它下方,您应该会看到两个选项卡,一个称为 Packages,另一个称为 Path。
单击路径,然后将您的虚拟机路径添加到其中。
在 Intellij v2017.2 中,您可以访问:
run > edit configurations > click ... next to the field 'Environment variables' > click the green + sign
名称= PythonPATH
值= your_python_path
在 pycharm 5 中遵循这一点, https: //www.jetbrains.com/pycharm/help/configuring-python-interpreter-for-a-project.html
1)打开设置对话框,然后单击项目解释器页面。
2) 在“项目”窗格中,选择所需的项目。
3)对于选定的项目,从可用的 Python 解释器和虚拟环境列表中选择 SDK。
Pycharm 2020.3.3 CE ZorinOS(Linux)文件>设置>项目结构> {选择文件夹}>标记为源(蓝色文件夹图标)>应用
验证:
import sys
print(sys.path)
此处应列出所选路径。