简体   繁体   中英

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?

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('./')

在此处输入图像描述

  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}" }

在此处输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM