VS代码无法导入本地python模块

时间:2020-04-10 12:31:25

标签: python python-3.x visual-studio-code

我用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'

2 个答案:

答案 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

执行此操作后,我不再收到“未找到模块”错误。