编辑
使用VSCode,在虚拟环境中进行调试时遇到问题,该虚拟环境具有base
环境中未安装的不同软件包。用activate my_env
激活环境后,我可以像使用python main.py
一样正常使用环境。但是在调试时,没有看到仅安装在my_env
中的软件包。如何使用VSCode在虚拟环境中调试python代码?
这是问题的摘要。其余的关于我的案件有一些具体信息。
编辑前
我正在尝试使用带有Visual Studio代码的简单代码来使用xmltodict
软件包。
import xmltodict
with open('C:\\Users\\user\\foo.xml') as f:
db_dict = xmltodict.parse(f.read())
print(db_dict)
我有一个名为my_env
的虚拟环境,并且在其中安装了xmltodict
软件包。当我使用activate my_env
激活环境时,此代码可以正常工作。但是,当我尝试使用vscode debug 选项时,会出现No module named 'xmltodict'
错误。因为vscode debug按钮打开了新的cmd并在其中运行debug命令,所以我停止了调试,并在该cmd中键入了activate my_env
并尝试再次调试,但仍然找不到该模块。另外,我在vscode中尝试了木星笔记本,但它也没有看到包装。
我看到import xmltodict
在vscode中用红色下划线表示Unable to import 'xmltodict'
,但是当我从cmd中正常运行它时,它可以工作。有时其他模块也会发生这种情况,我不知道为什么。我使用xmltodict
安装了pip
模块,也许会导致这种情况。
我在Windows 10上将Visual Studio Code 1.30.1与Anaconda Python 3.7.1一起使用。
如何使用VSCode在虚拟环境中调试python代码? 我看到了this个问题,但我不认为这正是我想要的吗?
答案 0 :(得分:1)
设置"python.pythonPath"
指向您要使用的虚拟环境中的解释器。
答案 1 :(得分:0)
我正在使用venv创建virtualenv,并使用VS代码调试代码。
我发现我们不必创建lanuch.json文件,但也可以在{project} /。vscode /文件夹下添加settings.json。 我的settings.json如下:
{
"python.testing.unittestArgs": [
"-v",
"-s",
".",
"-p",
"test_*.py"
],
"python.testing.pytestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.unittestEnabled": true,
"python.pythonPath": "/Users/hhh/project/bin/python"
}
我可以调试项目并运行单元测试。 希望对您有帮助。