繁体   English   中英

将当前文件目录添加到 PyCharm 中的 Python 解释器路径

[英]Add current file directory to Python interpreter path in PyCharm

PyCharm 允许自定义 Python 控制台。 默认情况下,它将WORKING_DIR_AND_PYTHON_PATHS添加到sys.path

import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS,WORKING_DIR_AND_PYTHON_PATHS + '/..', FILE_DIR])

在此处输入图像描述

“当前文件目录”(不是当前工作目录)是否有任何变量? 这是使相对路径适用于同一目录中的其他模块所必需的。

这可以完成(使用下面的选项 2),但不能使用问题中显示的 GUI(选项 1)。 必须注意,在 PyCharm 中启动控制台有两种截然不同的方式。

1.如问题所示,转到File > Settings > Build, Execution, Deployment > Console > Python Console

2.或者在Run > Edit Configurations使用 Run/Debug 配置。

GUI 在这两种情况下的作用非常不同

1.在第一种情况下,IDE 只需调用操作系统 shell,Python 作为第二个解释器作为第一个参数,并使用控制台插件的路径。

C:\path_to_venv\Scripts\python.exe

"C:\JetBrains\PyCharm 2020.1.1\plugins\python\helpers\pydev\pydevconsole.py"

--mode=client --port=12345

IDE 魔术只有一个变量(另请参阅此答案中的评论):

安慰。 Python 控制台

WORKING_DIR_AND_PYTHON_PATHS变量在 PyCharm 中硬编码。 它显示两个路径:项目根目录和工作目录。

这意味着 IDE 不会公开任何其他允许在调用解释器/控制台之前或之后检索文件的“魔术变量”。 Python 和操作系统此时都无法知道您要使用哪个文件/模块,唯一的方法是将文件路径硬编码为环境变量(但这并不能解决任何问题,因为您必须更改每次更改文件时的路径。)

2.第二个选项,确实允许在调用控制台时透明地传递您当前在编辑器中打开的模块/文件。

基本上,每当您在编辑器中打开的任何模块上运行调试器时,通过使用“ FileDir宏”创建运行/配置“模板” ,就会为该模块创建“临时配置”,允许从sys.argv 在这种情况下,文件由 IDE 即时选择,并且宏将路径与它一起传递。

C:\path_to_venv\Scripts\python.exe

"C:\JetBrains\PyCharm 2020.1.1\plugins\python\helpers\pydev\pydevd.py"

--multiproc --qt-support=auto --client 127.0.0.1 --port 12345

--file C:/path_to_module/teste2.py C:\path_to_module

这第二个选项是应该如何在 PyCharm 中使用控制台来获得问题中的功能,如屏幕截图所示。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM