如何将文件导入python中同一目录中的另一个文件?

时间:2020-10-06 17:38:49

标签: python package

我有一个结构如下的项目:

project
 |-setup.py
 |-... some files (README, LICENSE, etc)
 |-package_name
   |-__init__.py
   |-utility.py
   |-m.py

在决定对其进行pypi设置之前,我使用了:

from utility import *

utility导入到m中。但是,当我安装该软件包时,它无法导入utility,因此我不得不将其更改为:

   from package_name.utility import *

同样,当我要开发项目时,我不得不切换回第一个:

我写道:

try:
    from package_name.utility import *
except:
    from utility import *

但是我想知道是否有更好的解决方案?

1 个答案:

答案 0 :(得分:1)

您可以使用相对导入: from .utility import *

要在开发过程中使用绝对导入(例如在安装软件包from package_name.utility import *之后),可以以可编辑模式安装软件包:

  • pip install --editable .
  • python setup.py develop

这些命令将在您的环境中安装软件包,以便所有代码更改在您重新运行应用程序时立即生效,而无需重新安装软件包。