I am trying to do an import in python from one directory level up.
import sys sys.path.append('..') from cn_modules import exception
I get an Error from VSCode when I try to do Run Build Task as:
ImportError: No module named cn_modules
The same code works without any error from terminal (python).
I face the problem when I try to run it from VSCode Run Build task.
Any clue on what is wrong here?
Have spent quiet some time but not able to resolve this, Any help is appreciated.
NOTE: this works when i do debug using vscode too. Below are my config for launch.json and tasks.json
launch.json
{ "version": "0.2.0", "configurations": [ { "name": "Python Console App", "type": "python", "request": "launch", "stopOnEntry": true, "program": "${file}", "externalConsole": true, "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit" ], "env": {}, "envFile": "${workspaceRoot}/.env", "console":"integratedTerminal", "pythonPath": "${config:python.pythonPath}" } ] }
tasks.json
{ "version": "0.1.0", "command": "/usr/bin/python", "isShellCommand": true, "args": ["${file}"], "showOutput": "always", "env": {}, "envFile": "${workspaceRoot}/.env", "pythonPath": "${config:python.pythonPath}" }
To solve unresolved import error in Python, set your Python path in your workspace settings. If you are working with Visual Studio Code and import any library, you will face this error: “unresolved import”. Then reload the VSCode, and it will fix that error.
The message simply means that VSCode cannot detect the correct path for a Python module. The cause of "Unresolved Import" could be one of the following reason: VSCode is using the wrong Python path. This is often the case if you're running your code against a virtual environment.
Use Quick Actions to fix or refactor code Or, when your cursor is on the line with the colored squiggle, press Ctrl+. or select the light bulb, error light bulb, or screwdriver icon in the margin. You'll see a list of possible fixes or refactorings you can apply to that line of code.
I tried to add this in my launch.json
, then it works!
"env": {"PYTHONPATH": "${workspaceRoot}"}
below is my launch.json
"name": "Python: Current File (Integrated Terminal)", "type": "python", "request": "launch", "program": "${file}", "cwd": "${workspaceRoot}", "env": {"PYTHONPATH": "${workspaceRoot}"}, "console": "integratedTerminal"
wish it can help u! :)
The solution is given below just worked for me.
Ctrl+Shift+P
Configure Language Specific Setting
Python
settings.json
will open. Check in this JSON file if there is a line like this:{"python.jediEnabled": false}
(Press Ctrl+F and then paste the above line to find it quickly)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With