我正在学习python。
我在eclipse中运行pydev。
Eclipse在PYTHONPATH中有以下文件夹: /用户/彼得/文档/工作区/蟒
在该文件夹中,有一个python包:com.peter.minesweeper
在该文件夹中我有2个python模块: mineFileReader.py minesweeper_practice.py
在后一个文件中我有以下代码:
from com.peter.minesweeper import mineFileReader
reader = mineFileReader(pathToMinesFile = "minesweeper.mines.txt")
但是我收到了错误:
Traceback (most recent call last):
File "/Users/peter/Documents/workspace/java/python/com/peter/minesweeper/minesweeper_practice.py", line 6, in <module>
from com.peter.minesweeper import mineFileReader
ImportError: No module named minesweeper
这没有意义,因为'python'文件夹在PYTHONPATH中,模块出现在它们声明的位置。我在这里失踪了什么?感谢
答案 0 :(得分:0)
我怀疑 * 您错过了一个或多个目录中的__init__.py
个文件。这个文件让Python知道目录应该被视为一个包。所以你的目录结构应如下所示:
python
|-- com
|-- __init__.py
|-- peter
|-- __init__.py
|-- minesweeper
|-- __init__.py
|-- mineFileReader.py
|-- minesweeper_practice.py
另外值得一提的是我的评论:在Python中通常避免使用不必要的长包名称。可能你可以将所有这些放在一个minesweeper
包中。
*嗯,从技术上来说,我知道,因为你在评论中告诉过我; - )