我有以下几个模块的代码:
import Persistence.Image as img
import sys
def main():
print(sys.path)
original_image = img.Image.open_image()
if __name__ == "__main__":
main()
(我已经创建了自己的Image模块)
所以我收到以下错误声称持久性模块不存在:
Traceback (most recent call last):
File "/home/ulises/PycharmProjects/IntelligentPuzzle/Puzzle.py", line 1, in <module>
import Persistence.Image as img
ImportError: No module named Persistence.Image
我一直在这里搜索这个问题,但找不到任何可以解决这个问题的方法,因为目录树似乎是正确的,你可以在这张图片上看到:
如果有任何用途,我正在使用ubuntu。
谢谢和问候!
答案 0 :(得分:1)
Persistence
包。那里有一个&#34; Persistence&#34; 目录,但它不是一个包,因为它不包含__init__.py
文件。
需要
__init__.py
个文件才能使Python将目录视为包含包;这样做是为了防止具有通用名称的目录(例如字符串)无意中隐藏稍后在模块搜索路径上发生的有效模块。在最简单的情况下,__init__.py
可以只是一个空文件,但它也可以执行包的初始化代码或设置__all__
变量,稍后将对此进行描述。
答案 1 :(得分:-1)
我不相信您使用正确的语法导入。您需要使用from Persistance import Image as img
。例如:
>>> import cmath.sqrt as c_sqrt
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import cmath.sqrt
ImportError: No module named 'cmath.sqrt'; 'cmath' is not a package
>>> from cmath import sqrt as c_sqrt
>>> c_sqrt(-1)
1j