在我的一个python包中,setup.py
导入了位于包内的模块__about__.py
(其中存储了所有元数据,并希望在pakcage和setup之间共享它)。你知道吗
setup.py
同时为我的包安装其他相关的第三方库。你知道吗
模块__init__.py
中的包内还导入了其他模块,如(from mypackage.mymodule import MyClass
),以保持简单的用法(因为编写import mypackage
和a = mypackage.MyClass()
更容易)。你知道吗
问题是如果setup.py
导入__about__.py
,那么也会从包和所有更深层的内容执行__init__.py
,这会在安装过程中生成导入错误,因为仍然没有安装我的依赖库。你知道吗
结构为:
setup.py
mypackage/
__init__.py
__about__.py
mymodule.py
我想保持相同的用法和结构,但解决了安装过程中的导入问题,如果依赖模块之前没有安装。最好的方法可能是导入mypackage.__about__
,而不执行__init__.py
,但是如何导入呢?你知道吗
或任何其他建议是受欢迎的。你知道吗
这个包只有python3。你知道吗
实际上,我通过用exec替换
setup.py
中的import mypackage.__about__
找到了解决方法:文件
__about__.py
包含:这个解决办法很有效。只有一个小问题是政治公众人物警告W0122
相关问题 更多 >
编程相关推荐