Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python module import statement runs in PyCharm but not in VSCode

Here's my file structure

test/
  -dir1
    -thing.py
  -dir2
    -__init__.py
    -thing2.py

I am using python 3.7 and windows 10.

In thing.py, I'm trying to import a function called foo from thing2.py and have it execute when I run thing.py. My code works perfectly in PyCharm when I press run. However, when I run thing.py from the terminal directly or through code runner in VSCode, I get the following error:

from dir2.thing2 import foo

ERROR: ModuleNotFoundError: No module named 'dir2

Is the issue something to do with my PYTHONPATH or something else?

like image 536
Aditya Mehrotra Avatar asked May 12 '26 00:05

Aditya Mehrotra


1 Answers

Based on the information you provided, I reproduced the problem you described. And you could use the following methods to solve it:

  1. Please add the following code at the beginning of the "thing.py" file, which adds the path of the currently opened file to the system path so that VSCode can find "foo" according to "from dir2.thing2 import foo":
import os, sys 
sys.path.append('./')

enter image description here

  1. If you don't want to add code, you could add the following setting in "launch.json", which adds the path of the project when debugging the code:
 "env": {
                    "PYTHONPATH": "${workspaceFolder}"
                }

enter image description here

like image 111
Jill Cheng Avatar answered May 13 '26 14:05

Jill Cheng



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!