尝试导入包时出现python ModuleNotFoundError
我的桌面上有两个文件夹,一个叫做“testpackage”,另一个叫做“testplay”testpackage'包含一个init.py和另一个名为'numberstuff.py'的文件(一个有两个方法的类)“testplay”包含“play_01.py”,这是一个简单的脚本,用于检查我是否可以将包添加到sys.path中,而无需将其实际添加到sys.path中的库中,我想我可以通过windows上python3上的sys.path.append(path\to\file)来完成此操作 testplays“play_01.py”代码:尝试导入包时出现python ModuleNotFoundError,python,module,package,sys.path,Python,Module,Package,Sys.path,我的桌面上有两个文件夹,一个叫做“testpackage”,另一个叫做“testplay”testpackage'包含一个init.py和另一个名为'numberstuff.py'的文件(一个有两个方法的类)“testplay”包含“play_01.py”,这是一个简单的脚本,用于检查我是否可以将包添加到sys.path中,而无需将其实际添加到sys.path中的库中,我想我可以通过windows上python3上的sys.path.append(path\to\file)来完成此操作 test
import sys
for i in sys.path:
print(i,'\n')
sys.path.append('C:\\Users\\priper\\Desktop\\testpackage')
from testpackage import numberstuff
a = numberstuff.maffs()
print(a.sqrtx(3))
控制台返回:
C:\Users\priper\AppData\Local\Programs\Python\Python37\python37.zip
C:\Users\priper\AppData\Local\Programs\Python\Python37\DLLs
C:\Users\priper\AppData\Local\Programs\Python\Python37\Lib
C:\Users\priper\AppData\Local\Programs\Python\Python37
C:\Users\priper\AppData\Local\Programs\Python\Python37\Lib\site-packages
C:\Users\priper\AppData\Roaming\Python\Python37\site-packages
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
C:\Users\priper\AppData\Local\Programs\Python\Python37\Lib\site-packages\win32
C:\Users\priper\AppData\Local\Programs\Python\Python37\Lib\site-packages\win32\lib
C:\Users\priper\AppData\Local\Programs\Python\Python37\Lib\site-packages\Pythonwin
C:\Users\priper\Desktop\sdnplay
C:\Users\priper\Desktop\mypackage
sdnplay.py
sdnplay.py
sdnplay.py
sdnplay
sdnplay
C:\Users\priper\Desktop\sdnplay
C:\Users\priper\Desktop\sdnplay
C:\Users\priper\Desktop\sdnplay
C:\Users\priper\Desktop\sdnplay
C:\Users\priper\Desktop\testplay
C:\Users\priper\Desktop\testpackage
C:\Users\priper\Desktop\testpackage
错误:
ModuleNotFoundError: No module named 'testpackage'
File"C\Users\priper\Desktop\testplay\play_01.py", line 6, in <module> from testpackage import numberstuff
ModuleNotFoundError:没有名为“testpackage”的模块
文件“C\Users\priper\Desktop\testplay\play\u 01.py”,第6行,来自testpackage import numberstuff
我可以看到testpackage在sys.path中,我只是不明白为什么它被视为一个模块,为什么我不能导入它>
预期输出为“9”。我唯一能想象的是,您已将文件夹称为“testpackage”,但您尝试导入的文件有另一个名称。但是,由于您试图导入名为“testpackage”的文件,因此会出现异常 我曾试图重建你的问题,但未能成功 我的文件夹/文件结构如下所示:
/full/path/to/the/parent/folder:
- main.py
- theFolder/
- IAMATEST.py
main.py
导入系统
sys.path.append(“/full/path/to/the/parent/folder/offolder”)
从IAMATEST导入IAMATEST类
IAMATESTClass.calla()
IAMTEST.py
class IAMATESTClass:
@静力学方法
def calla():
打印(“被叫”)
当执行main.py时,我得到输出“GOT CALLED”
祝你好运 尝试从testpackage.numberstuff导入*中执行
,而不是从testpackage导入numberstuff中执行,同样的错误。