我正在尝试将包发布到 PyPI,但遇到导入问题。
我的包设置如下:
mypackage/
setup.py
mypackage/
__init__.py
mypackage.py
在mypackage.py
中,我有一个类:MyPackageWrapper
,并且__init__.py
是空的。
在开发过程中,我是这样做的:
from mypackage import MyPackageWrapper
这有效。但是,我将初始版本发布到 PyPI 后,上述内容不再有效。出现错误 ImportError: Cannot import name MyPackageWrapper
我必须有这样的导入:
from mypackage.mypackage import MyPackageWrapper
或
import mypackage
mypackage.mypackage.MyPackageWrapper()
如何摆脱上述两者中领先的 mypackage
,以便我可以使用:
from mypackage import MyPackageWrapper # As done in development, or
import mypackage
mypackage.MyPackageWrapper()
最佳答案
您的__init__.py
文件应包含:
from mypackage.mypackage import MyPackageWrapper
关于python - 打包库的正确方法,以便它在不带前导包名称的情况下正确导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35611413/