【发布时间】:2017-07-24 21:41:31
【问题描述】:
我正在编写自己的模块mymodule。它包含以下内容:
myroot
|-mymodule
| |-file1
| |-file2
|
|-tests
| |-...
|
|-...
在file1 我想导入file2。首先我使用了from . import file2,因为这似乎是最佳实践——因为如果我在命名空间上犯了错误(例如,当该文件2有我已经使用的名称或类似的名称时,它也是如果我想从子模块导入文件更好)。
然后我改为只使用import file2,因为测试在这些相对导入方面存在问题。我已经描述了这个问题here。
现在导入 没有 . 会出现问题,因为安装模块后它们不再起作用。 (我把它安装到我自己的电脑上。)
什么更好?如何避免在没有. 的情况下导入可能引发的问题? (我知道,我可以注意不要使用已经使用的名称。但我很难相信可能会因为他使用我的模块而导致其他人程序崩溃的事情。
那么:最佳实践是什么?为什么?如果没有这样的东西:在哪里使用什么?
【问题讨论】:
标签: python import python-import relative-import