EDIT
Using VSCode, I had an issue while debugging in a virtual environment that have different packages which are not installed in the base environment. After activating the environment with the command activate my_env, I can use the packages in the environment with usual python command as python main.py. But while debugging, I can't use the packages which are only installed in my_env. How can I debug a python code in a virtual environment using VSCode?
This is this the summary of the question. The rest has some specific info about my case.
BEFORE EDIT
I am trying to use xmltodict package with a simple code using visual studio code.
import xmltodict
with open('C:\\Users\\user\\foo.xml') as f:
db_dict = xmltodict.parse(f.read())
print(db_dict)
I have a virtual environment named my_env, and I installed xmltodict package in it. When I activate the environment with activate my_env, this code works fine. But, when I try to use vscode debug option, it gives No module named 'xmltodict' error. Becuase vscode debug button opens new cmd and run the debugging command in it, I stopped debugging and typed activate my_envin that cmd and tried to debug again, but still it can't find the module. Also, I tried jupiter notebook in vscode, it also doesn't see the package.
I see that import xmltodict is underlined with red in vscode and it says Unable to import 'xmltodict', but it works when I run it normally from cmd. This happens sometimes for other modules and I don't know why. I installed xmltodict module using pip, maybe it causes that.
I am using Visual Studio Code 1.30.1 with Anaconda Python 3.7.1 on Windows 10.
How can I debug a python code in a virtual environment using VSCode?
I saw this question, but I don't think it is exactly what I want?
解决方案
Set "python.pythonPath" to point to the interpreter in the virtual environment that you want to use.