Vscode 调试器导入错误
Vscode debugger importError
我尝试通过 vscode 调试器调试我的远程 django 项目。程序启动时,没有使用我在virtualenv中安装的模块,而是使用了vscode中的模块。我通过打印模块
找到了这个
import completion
print(completion)
#output
<module 'completion' from '/root/.vscode-server/extensions/ms-python.python-2020.1.57204/pythonFiles/completion.pyc'>
但在远程python manage.py shell:
import completion
print(completion)
#output
<module 'completion' from '/{my_python_path}/site-packages/completion/__init__.pyc'>
launch.json 是:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"console": "integratedTerminal",
"args": [
"runserver",
"--noreload",
"--nothreading"
],
"justMyCode": true,
"pythonPath": "${config:python.pythonPath}",
"django": true
}
]
}
我删除了/root/.vscode-server/extensions/ms-python.python-2020.1.57204/pythonFiles/
中的completion.py
然后程序启动成功...但是它可能会破坏一些功能?
完成模块是做什么用的?
如何从virtualenv导入模块?
这是因为该目录被放在您的 sys.path
上以加载调试器。请随时在 https://github.com/microsoft/vscode-python 上提出一个错误以考虑重命名文件,这样就可以减少与您自己的文件之一发生冲突的可能性。
我尝试通过 vscode 调试器调试我的远程 django 项目。程序启动时,没有使用我在virtualenv中安装的模块,而是使用了vscode中的模块。我通过打印模块
找到了这个import completion
print(completion)
#output
<module 'completion' from '/root/.vscode-server/extensions/ms-python.python-2020.1.57204/pythonFiles/completion.pyc'>
但在远程python manage.py shell:
import completion
print(completion)
#output
<module 'completion' from '/{my_python_path}/site-packages/completion/__init__.pyc'>
launch.json 是:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"console": "integratedTerminal",
"args": [
"runserver",
"--noreload",
"--nothreading"
],
"justMyCode": true,
"pythonPath": "${config:python.pythonPath}",
"django": true
}
]
}
我删除了/root/.vscode-server/extensions/ms-python.python-2020.1.57204/pythonFiles/
中的completion.py
然后程序启动成功...但是它可能会破坏一些功能?
完成模块是做什么用的?
如何从virtualenv导入模块?
这是因为该目录被放在您的 sys.path
上以加载调试器。请随时在 https://github.com/microsoft/vscode-python 上提出一个错误以考虑重命名文件,这样就可以减少与您自己的文件之一发生冲突的可能性。