我用VS代码编写的所有项目文件突然出现一个错误,提示它无法导入模块(即使这些模块是本地的,即同一目录,它们以前也能很好地工作)。 该代码在pycharm中可以正常工作,但在VS代码中则不能,这是怎么回事?
Code:
from backend.util.crypto_hash import crypto_hash
from backend.config import MINE_RATE
error:
env DEBUGPY_LAUNCHER_PORT=34625 /home/nikhil/python-blockchain/blockchain-env/bin/python /home/nikhil/.vscode/extensions/ms-python.python-2020.3.71659/pythonFiles/lib/python/debugpy/no_wheels/debugpy/launcher /home/nikhil/python-blockchain/backend/app/__init__.py
Traceback (most recent call last):
File "/home/nikhil/python-blockchain/backend/app/__init__.py", line 2, in <module>
from backend.blockchain.blockchain import Blockchain
ModuleNotFoundError: No module named 'backend'
答案 0 :(得分:1)
关闭与代码, 重新开始 文件>打开文件夹(在vs代码中打开您的项目文件夹), 如果提示您选择现有的虚拟环境,请选择该虚拟环境。
那你应该很好。
更多无关信息:
我认为这里的问题是vs代码无法正确识别虚拟环境存在一些问题。这发生在我身上好几次,我无法指出为什么会发生。但是上述解决方案是一种快速解决方案,并且对我始终有效。
答案 1 :(得分:0)
我不确定这是否能解决 OP(十个月大)的问题,但在尝试配置 VSCode 的调试器时,我一直在使用 debugpy 解决同样的错误。
this 资源的第 4 步为我解决了这个问题。特别是,我在运行 debugpy 时使用了 -m
标志,但要运行的模块不在当前工作目录中。一旦我改变了这个,调试器就会按预期工作。例如,如果命令最初是:
python -m debugpy --listen 0.0.0.0:5678 ./some/directory/my_script.py
然后以下两个命令将纠正它:
cd ./some/directory
python -m debugpy --listen 0.0.0.0:5678 ./my_script.py
执行此操作后,我不再收到“未找到模块”错误。