Python从相对路径导入

时间:2015-06-24 02:24:57

标签: python python-2.7 python-3.x

在Python 2.7上,我有以下内容:

dir1/dir2/File1.py
dir1/dir3/File2.py

File2.py想要导入File1.py

有什么非hacky,pythonic,标准方法呢?

dir1,dir2和dir3包含__init__.py

2 个答案:

答案 0 :(得分:0)

touch dir1{,/dir2}/__init__.py

可能

touch dir1{,/dir3}/__init__.py

然后,在File2.py

from dir1.dir2 import File2

fram = File2.Framistan(12)
<{1>}的奖励积分:

setup.py

将所有人联系在一起。

对于任意from setuptools import setup, find_packages setup( ... packages=find_packages(), ... ) 任意其他包,您需要在您的环境中设置FileX.py。但是对于惯用的方法,只需使用上面的PYTHONPATH即可。这会将您创建的软件包代表您的搜索路径。

答案 1 :(得分:0)

使用相对导入:

from ..dir2 import File1

File1.hello()

有关详细信息,请阅读documentation

在Python程序员中似乎确实存在绝对导入的偏好;该示例由Brian Cain's answer提供。