gpt4 book ai didi

python - VSCode : How to import a module from my code path to another file in the same path?

转载 作者:行者123 更新时间:2023-12-04 13:40:00 24 4
gpt4 key购买 nike

我正在尝试使用 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 module named 'app'

我创建了一个简单的应用程序来展示这个问题。我的源路径如下所示:
sandbox
+-- .vscode
--- launch.json
+-- app
--- __init__.py
--- main.py
+-- lib
-- lib.py

# main.py

class MyClass:
def __init__(self):
print('Creating object...')
def print_message(self, message):
print(message)

# lib.py

from app.main import MyClass


myclass = MyClass()
myclass.print_message('hello, world!')

试图运行 lib.py使用默认配置运行当前文件我收到上面的错误消息。

此外,我创建了一个 .vscode/launch.json设置工作目录,但无济于事。这是我的 launch.json :

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}"
},
{
"name": "Python: Module",
"type": "python",
"request": "launch",
"module": "main"
}
]
}

我敢肯定,我缺少一个简单的设置,但我无法解决它。

备注
  • 使用的解释器是:Python 3.7.5 64-bit
  • 上面的代码在 PyCharm 中运行良好。
  • 在阅读了 VSCode 文档后,我添加了 "env": {"PYTHONPATH": "${workspaceFolder}"}launch.json ,但这没有任何好处。
  • 我还创建了一个 VSCode 任务来回应 ${workspaceFolder}变量,并且输出中删除了所有 \从路径上,好像他们没有逃脱。
    这是.vscode/tasks.json中的任务:

  • {
    "version": "2.0.0",
    "tasks": [
    {
    "label": "workspaceFolder",
    "type": "shell",
    "command": "echo ${workspaceFolder}"
    }
    ]
    }

    这是从中得到的输出:

    > Executing task: echo C:\Users\mb\Library\source\sandbox <

    C:UsersmbLibrarysourcesandbox

    Terminal will be reused by tasks, press any key to close it.

    最佳答案

    看看 here

    基本上,你想做的是cd /path/to/sandbox然后 export PYTHONPATH=$(pwd)
    现在你在 python-path 中有你的应用程序的根目录。

    你只是在这个层面上对待一切。
    from app.main import MyClass <- 正确,应该可以工作!

    关于python - VSCode : How to import a module from my code path to another file in the same path?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58687714/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com