我与蟒蛇进行试验,主要是排查其他人的代码。 我试图让一个程序运行,“ path\folderA\program.py
”。
我正在从程序path\folderA
我得到一个错误:
ImportError: No module named fff.ggg.ppp
program.py包含进口:
from fff.ggg.ppp import mmm
在文件夹“路径\ FolderB中”有: “ path\folderB\fff\__init__.py
” “ path\folderB\fff\ggg
”
文件夹ggg
还包含__init__.py
,以及节目ppp.py
从阅读其他职位,如Python的错误“导入错误:没有模块名为”我的理解是具有__init__.py
使一个文件夹中的“包”,这使得进口成为可能-但它不工作,因为我得到一个错误。
该公司一直致力于与这些项目的经验其他人,所以有什么毛病我的设置。
我读了一些关于其是在sys.path中的目录。 这是否意味着我必须将它们添加到环境变量的路径? 这将意味着加入了大量的目录路径的,因此它不能。
所以,我也发现了以下几点:
import sys
sys.path.append( <path to FolderB> )
但是,这意味着改变代码(这还没有必要为别人)和硬编码到它是我的本地机器上的一个路径 - 我不应该有吧?
我无法想象它 - 显然我不应该更改代码和硬编码到导入模块的物理路径 - 所以如何从folderA程序甚至不知道在FolderB中寻找一个进口?
如何神奇的__init__.py
工作?