Python 当我尝试导入我制作的模块时,未找到模块错误
我尝试将我制作的myPackage的myModule导入main。 目录结构如下所示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
#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)
然后导入MyModuleHi 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)