我试图建立一个简单的项目,然后准备它创建whl文件。但是在pip install <name>.whl
之后,我有一个奇怪的导入问题。
项目结构:
foo/
/foo
__init__.py
main.py
bar.py
setup.py
在设置.py文件:
^{pr2}$在主.py在
from bar import func2
def func1():
print('func1')
func2()
在棒.py在
def func2():
print('func2')
我有一个空的初始化文件。在
我通过命令创建whl文件:python3 setup.py bdist_wheel
然后cd dist/ && pip install ...
但当我运行foo
的脚本时,出现了一个错误:
ModuleNotFoundError:没有名为“bar”的模块
这个问题只存在于我把项目分成几个文件的时候,当我试图保存所有的东西主.py(已删除棒.py)如果没有进口,那它就成功了。在
你知道我该怎么修改吗setup.py?在
问题在于您的导入而不是您的}。在
setup.py
。你的setup.py
正在安装包foo
,它有子模块main
和{要从子模块导入函数,请执行以下操作:
或者,如果您正在进行与包相关的导入(例如从
^{pr2}$main
导入bar
):如果执行导入的模块不是
foo
包的一部分,则第二个版本将无法工作。在相关问题 更多 >
编程相关推荐