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