|
|
1
3
只有当main.py是您实际运行的文件时,我才能复制这个文件。在这种情况下,您将获得sys路径上main.py的当前目录。但显然您也有一个系统路径集,以便可以导入mypackage。 在这种情况下,python不会意识到mymodule和mypackage.mymodule是同一个模块,您会得到这种效果。这一变化说明了这一点:
但在当前目录中添加另一个主文件:
结果是不同的:
所以我怀疑包中有您的主python文件。在这种情况下,解决办法是不这样做。-) |
|
|
2
4
每个模块命名空间只导入一次。问题是,您导入它们的方式不同。第一个是从全局包导入,第二个是本地的非打包
解决这个问题的方法是 始终使用绝对导入 .也就是说,始终为模块提供从顶级包开始的绝对导入路径:
记住你的入口点(你运行的文件,
而在
我发现
this document
JPCalderone提供了一个关于如何(而不是)构造您的Python项目的好技巧。跟着它走你就不会有问题了。注意
|