从兄弟目录导入(python 3)

时间:2016-05-25 14:09:28

标签: python python-3.x packages python-import setup.py

我无法弄清楚如何使用绝对导入从Python 3中的兄弟目录导入模块。

  1. 修改</li>
  2. 通过echo "<li><a href=\"/~ftp/files/{$file}\">{$file}</a></li>"; sys.path将目录转换为pip可安装包。
  3. 对于选项1.我想出了如何通过修改__init__.py从兄弟目录导入模块,但这种方法对我来说似乎有些困难。另外,我读过它不是首选。为什么?修改setup.py是否存在固有的错误或危险?

    对于选项2.我需要做什么才能使我的包pip可以安装?我已经创建了我的sys.path文件,但似乎我需要创建和配置sys.path脚本来准备我的软件包以进行分发?我还处于开发模式,这真的是最好的/ pythonic方法吗?如果是,那么在创建__init__.py之后,我只需在我的终端中输入setup.py吗?

    编辑:我现在正试图用绝对导入来解决这个问题,因为python 3支持相对导入。

1 个答案:

答案 0 :(得分:1)

  

据我所知,Python 3不支持相对导入

确实如此。

要从myproject/foo/__init__.py导入myproject/bar/baz.py,您可以使用:

from .. import foo

或者如果您想在foo中导入对象/模块:

from ..foo import object

这需要myproject成为一个包,因此myproject/__init__.py必须存在。