Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

vscode import error for python module

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}"  } 
like image 361
Chandan Nayak Avatar asked Oct 02 '17 05:10

Chandan Nayak


People also ask

How do I fix the import error in VSCode?

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.

Why is VSCode not recognizing Python import?

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.

How do I fix VSCode error?

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.


2 Answers

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! :)

like image 176
ChenHao Wu Avatar answered Oct 05 '22 11:10

ChenHao Wu


The solution is given below just worked for me.

  1. Press Ctrl+Shift+P
  2. Type: Configure Language Specific Setting
  3. Then select Python
  4. 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)

  1. If yes, then delete or comment this line, save the file and reload VScode.
  2. DONE!
like image 31
Mubashar javed Avatar answered Oct 05 '22 11:10

Mubashar javed