Python VSCode:如何将模块从我的代码路径导入同一路径中的另一个文件?
我正在尝试使用VSCode调试我的python应用程序。但我无法正确配置我的环境。尝试将类从源路径中的一个文件夹导入到另一个文件夹时,会显示以下消息:Python VSCode:如何将模块从我的代码路径导入同一路径中的另一个文件?,python,visual-studio-code,Python,Visual Studio Code,我正在尝试使用VSCode调试我的python应用程序。但我无法正确配置我的环境。尝试将类从源路径中的一个文件夹导入到另一个文件夹时,会显示以下消息: Traceback (most recent call last): File "/Users/mb/Library/source/sandbox/lib/lib.py", line 1, in <module> from app.main import MyClass ModuleNotFoundError: No mo
Traceback (most recent call last):
File "/Users/mb/Library/source/sandbox/lib/lib.py", line 1, in <module>
from app.main import MyClass
ModuleNotFoundError: No module named 'app'
#main.py
类别MyClass:
定义初始化(自):
打印('正在创建对象…')
def打印信息(自我,信息):
打印(信息)
#lib.py
从app.main导入MyClass
myclass=myclass()
myclass.print_消息('hello,world!')
尝试运行lib.py
时,使用默认配置运行当前文件,我会收到上面的错误消息
另外,我创建了一个.vscode/launch.json
来设置工作目录,但没有用。这是我的launch.json
:
{
//使用IntelliSense了解可能的属性。
//悬停以查看现有属性的描述。
//有关更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387
“版本”:“0.2.0”,
“配置”:[
{
“名称”:“Python:当前文件”,
“类型”:“python”,
“请求”:“启动”,
“程序”:“${file}”,
“控制台”:“集成终端”,
“cwd”:“${workspaceFolder}”
},
{
“名称”:“Python:Module”,
“类型”:“python”,
“请求”:“启动”,
“模块”:“主”
}
]
}
我敢肯定,我错过了一个简单的设置,但我不能把我的手指
注意
- 使用的解释器是:Python 3.7.5 64位
- 以上代码在PyCharm中运行良好
- 在阅读了一些VSCode文档之后,我在
中添加了launch.json
,但这没有任何好处“env”:{“PYTHONPATH”:“${workspaceFolder}”}
- 我还创建了一个VSCode任务来回显
变量,并且输出从路径中剥离了所有${workspaceFolder}
,就好像它们没有被转义一样。 以下是\
中的任务:.vscode/tasks.json
{
“版本”:“2.0.0”,
“任务”:[
{
“标签”:“工作空间文件夹”,
“类型”:“外壳”,
“命令”:“echo${workspaceFolder}”
}
]
}
下面是从中得到的输出:
执行任务:echo C:\Users\mb\Library\source\sandbox<
C:UserSMLibrarySourceSandbox
终端将被任务重用,请按任意键将其关闭。
让我来帮你。如果你想导入一个不在当前目录中的文件,请执行以下操作
from . import main
有关第二个问题,请访问此查看
基本上,您要做的是cd/path/to/sandbox
然后export PYTHONPATH=$(pwd)
现在,应用程序的根目录位于python路径中
你只是在这个层次上对待一切
从app.main导入MyClass
您可以检查vscode的状态栏以指定要使用的解释器。确定。它是:python3.7.5 64位是的,只需单击它来检查用于运行Python程序的环境好的,我读到的路径是:/usr/local/bin/python3
。这就是您的意思吗?是的,您应该能够为python项目选择环境的路径。确保它是一样的
from . import main