Cha*_*yak 13 python-2.7 visual-studio-code vscode-settings vscode-tasks
我试图从一个目录级别进行python导入.
import sys
sys.path.append('..')
from cn_modules import exception
Run Code Online (Sandbox Code Playgroud)
当我尝试运行构建任务时,我从VSCode收到错误:
ImportError:没有名为cn_modules的模块
相同的代码在终端(python)没有任何错误的情况下工作.
当我尝试从VSCode运行构建任务运行它时,我遇到了问题.
这里有什么问题的任何线索?
安静了一段时间,但无法解决这个问题,任何帮助表示赞赏.
注意:当我使用vscode进行调试时,这也适用.下面是我对launch.json和tasks.json的配置
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python Console App",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"program": "${file}",
"externalConsole": true,
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit"
],
"env": {},
"envFile": "${workspaceRoot}/.env",
"console":"integratedTerminal",
"pythonPath": "${config:python.pythonPath}"
}
]
}
Run Code Online (Sandbox Code Playgroud)
tasks.json
{
"version": "0.1.0",
"command": "/usr/bin/python",
"isShellCommand": true,
"args": ["${file}"],
"showOutput": "always",
"env": {},
"envFile": "${workspaceRoot}/.env",
"pythonPath": "${config:python.pythonPath}"
}
Run Code Online (Sandbox Code Playgroud)
Phi*_*pWu 15
我尝试将其添加到我的launch.json,然后成功了!
"env": {"PYTHONPATH": "${workspaceRoot}"}
Run Code Online (Sandbox Code Playgroud)
下面是我的 launch.json
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"cwd": "${workspaceRoot}",
"env": {"PYTHONPATH": "${workspaceRoot}"},
"console": "integratedTerminal"
Run Code Online (Sandbox Code Playgroud)
希望它能对你有所帮助!:)
Mub*_*ved 11
下面给出的解决方案只对我有用。
Ctrl+Shift+PConfigure Language Specific SettingPythonsettings.json将打开。如果有这样的一行,请检查此 JSON 文件:{"python.jediEnabled": false}
Run Code Online (Sandbox Code Playgroud)
(按Ctrl+F然后粘贴上一行可以快速找到)
小智 8
在您的 launch.json 文件中,更改env:{}为:
"env": {"PYTHONPATH": "${workspaceRoot}"}
Run Code Online (Sandbox Code Playgroud)
就我而言,这与
"env": {"PYTHONPATH": "${workspaceRoot}"}
Run Code Online (Sandbox Code Playgroud)
这是我的文件夹/模块结构:
/Dev/csproj/deploy/test.py
/Dev/csproj/util/utils.py
Run Code Online (Sandbox Code Playgroud)
在 test.py 中,它导入了 utils 函数
import sys
sys.path.append('../')
from util.utils import get_keyvault_secret
Run Code Online (Sandbox Code Playgroud)
如果我在终端文件夹 /Dev/csproj/deploy/ 中运行 test.py 没有问题。
但是如果我想在 VSCode(在 workspaceRoot 下)调试 test.py,我得到了“ModuleNotFoundError”的异常
来修复它,我将它添加到我的调试配置 launch.json
"cwd": "${workspaceRoot}\\Dev\\csproj\\deploy",
Run Code Online (Sandbox Code Playgroud)
感谢 Honza Kalfus jankalfus
我注意到,如果我使用 File -> Close folder 然后 File -> Open Folder... 并再次打开项目文件夹,错误就会消失。如果我只是重新启动 VS Code,则会不断收到错误消息。我认为某些内部缓存被清除了?
在这里找到https://github.com/Microsoft/vscode/issues/10391
| 归档时间: |
|
| 查看次数: |
22257 次 |
| 最近记录: |