我正在尝试使用python,主要是排除其他人的代码故障。我试图让程序运行,“path\folderA\program.py
”。从另一个文件夹导入失败的Python导入
我从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 error "ImportError: No module named"据我所知,具有__init__.py
使一个文件夹中的“包”,这使得进口成为可能 - 但它不”我工作,因为我得到一个错误。
这一直在为这些项目工作的其他人工作,所以我的设置有问题。
我读了一些关于必须在sys.path中的目录。这是否意味着我必须将它们添加到环境变量路径?这意味着要将大量的目录添加到PATH中,所以它不能。
所以我还发现了以下内容:
import sys
sys.path.append(<path to FolderB>)
但是,这意味着改变的代码(这还没有其他人是必要的)和硬编码到它是我的本地机器上的一个路径 - 这我不应该,对吧?
我无法想象它 - 显然我不应该更改代码并将物理路径硬编码到导入模块 - 那么folderA的程序如何知道要在folderB中查找导入?
__init__.py
的魔法效果如何?
Python在'PYTHONPATH'环境变量中查找,而不是'PATH' – mgilson 2012-07-13 19:01:43