I am using the following setup
- MacOS Mojave
- Python 3.7.1
- Visual Studio Code 1.30
- Pylint 2.2.2
- Django 2.1.4
I want to use linting to make my life a bit easier in visual studio code however, every import i have states "unresolved import". Even on default django imports (i.e. from django.db import models).
I presume it is because it is not seeing the virtual environment python files.
Everything works just fine but but it's starting to get annoying.
The interpreter choices i have are all system versions of python. It does not seem to see my virtual environment python at all (it is not in the same directory as my workspace, so that part makes sense).
If i setup the python.PythonPath in the settings.json file, it just ignores it and does not list my virtual environment path as an option. I also tried setting it up in my global python settings but it also does not show up.
Has anyone run into this issue and know a quick fix to get it working?
Thanks, jAC
In your workspace settings, you can set your python path like this:
{
"python.pythonPath": "/path/to/your/venv/bin/python",
}
This issue has already been opened on GitHub: https://github.com/Microsoft/vscode-python/issues/3840 There are 2 very useful answers, by MagnuesBrzenk and SpenHouet.
The best solution for now is to create a .env file in your project root folder. Then add a PYTHONPATH to it like this:
PYTHONPATH=YOUR/MODULES/PATH
and in your settings.json add
"python.envFile": ".env"
If you have this code in your settings.json file, delete it
{
"python.jediEnabled": false
}
When I > reload window that fixes.
ref: https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-452657892
I was able to resolved this by enabling jedi in .vscode\settings.json
"python.jediEnabled": true
Reference from https://github.com/Microsoft/vscode-python/issues/3840#issuecomment-456017675
I have a different solution: my VSCode instance had picked up the virtualenv stored in .venv, but was using the wrong Python binary. It was using .venv/bin/python3.7; using the switcher in the blue status bar, I changed it to use .venv/bin/python and all of my imports were resolved correctly. I don't know what VSCode is doing behind the scenes when I do this, nor do I understand why this was causing my problem, but for me this was a slightly simpler solution than editing my workspace settings. I hope it helps someone.
来源:https://stackoverflow.com/questions/53939751/pylint-unresolved-import-error-in-visual-studio-code
