Python 当我尝试导入我制作的模块时,未找到模块错误

Python 当我尝试导入我制作的模块时,未找到模块错误,python,python-3.x,path,settings,vscode-settings,Python,Python 3.x,Path,Settings,Vscode Settings,我尝试将我制作的myPackage的myModule导入main。 目录结构如下所示 #Directory structure test02 └myPackage │ └myModule.py │ └__init__.py └myView └main.py 但它有ModuleNotFoundError,比如我附加的屏幕截图 我知道一个解决方案,那就是我自己输入路径 但我认为这不是一种明智的方式 我想知道是否有办法设置vs代码,以便自动添加路径。您可以将“粘贴my

我尝试将我制作的myPackage的myModule导入main。 目录结构如下所示

#Directory structure
test02
└myPackage
│     └myModule.py
│     └__init__.py
└myView
      └main.py
但它有ModuleNotFoundError,比如我附加的屏幕截图

我知道一个解决方案,那就是我自己输入路径

但我认为这不是一种明智的方式


我想知道是否有办法设置vs代码,以便自动添加路径。

您可以将“粘贴myModule”复制到与main.py相同的位置。并简单地使用:

导入myModule
或者复制粘贴myPackage到前面提到的位置。和使用:

从myPackage导入myModule

您可以将paste myModule复制到与main.py相同的位置。并简单地使用:

导入myModule
或者复制粘贴myPackage到前面提到的位置。和使用:

从myPackage导入myModule

您的问题是因为MyModule.py与main.py不在同一文件夹中

或者必须将它们放在同一文件夹中,或者可以在sys.path变量中添加MyModule.py的路径:

import os,sys,inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
print(sys.path)
sys.path.insert(0,parentdir+'\\MyPackage')
print(sys.path)

然后导入MyModule

您的问题是因为MyModule.py与main.py不在同一文件夹中

或者必须将它们放在同一文件夹中,或者可以在sys.path变量中添加MyModule.py的路径:

import os,sys,inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
print(sys.path)
sys.path.insert(0,parentdir+'\\MyPackage')
print(sys.path)

然后导入MyModule

Hi Leo,请在帖子中插入代码,而不是图片,好吗?这将使你的问题更具可读性和可搜索性。谢谢,谢谢你的评论。我添加了代码嗨,利奥,你能在帖子中插入代码,而不是图片吗?这将使你的问题更具可读性和可搜索性。谢谢,谢谢你的评论。我添加了代码嗯。。。。在保持当前目录结构的同时,有没有办法不直接输入路径来解决这个问题?例如,更改vscode.Hmmmm…的设置。。。。在保持当前目录结构的同时,有没有办法不直接输入路径来解决这个问题?例如,更改vscode的设置。
#main 
import sys
sys.path.insert(0, '/VScode/vscode_python/test02/')
from myPackage import myModule

myModule.printTest()
#myModule
def printTest():
    print('test')
import os,sys,inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
print(sys.path)
sys.path.insert(0,parentdir+'\\MyPackage')
print(sys.path)