Python 3.x 如何打包在包中导入另一个模块的python模块
我正在创建一个Python3.7.2包,然后将其安装在不同的位置,安装在virtualenv中,以便在应用程序中使用。我的包有多个模块,它们之间有依赖项(导入)。我不知道如何正确加载包,以便使用包中的依赖模块 包目录Python 3.x 如何打包在包中导入另一个模块的python模块,python-3.x,import,pip,package,virtualenv,Python 3.x,Import,Pip,Package,Virtualenv,我正在创建一个Python3.7.2包,然后将其安装在不同的位置,安装在virtualenv中,以便在应用程序中使用。我的包有多个模块,它们之间有依赖项(导入)。我不知道如何正确加载包,以便使用包中的依赖模块 包目录 root \- foo # my package \- __init__.py # empty or with from .helper_class import HelperClass \- helper_class.py \- my_class.py # im
root
\- foo # my package
\- __init__.py # empty or with from .helper_class import HelperClass
\- helper_class.py
\- my_class.py # imports helper_class
setup.py
app
\- main.py # from foo.my_class import MyClass
\- venv
应用程序目录
root
\- foo # my package
\- __init__.py # empty or with from .helper_class import HelperClass
\- helper_class.py
\- my_class.py # imports helper_class
setup.py
app
\- main.py # from foo.my_class import MyClass
\- venv
当my_class
没有导入helper_class
时,我可以打包、安装并运行main.py
。当我在my\u class
中导入helper\u class
时,我得到modulenofounderror
$ python main.py
Traceback (most recent call last):
File "main.py", line 1, in <module>
from foo.my_class import MyClass
File "/Users/XXXXXX/tmp/foo/my_class.py", line 1, in <module>
from helper_class import HelperClass
ModuleNotFoundError: No module named 'helper_class'
foo/my_class.py
from helper_class import HelperClass
class MyClass():
def __init__(self):
self.att = 123
def get_att(self):
return self.att
foo/helper\u class.py
class HelperClass():
def __init__(self):
pass
下面的Setup.py(取自)
请尝试按以下方式导入它
from foo.helper_class import HelperClass
我认为你不能投赞成票,但你可以接受。。将答案标记为已接受,单击答案旁边的复选标记将其从灰显切换为填充。已接受。有一个问题,我还向init.py添加了'all=[(模块列表)]。这可能是也可能不是解决方案的一部分,也许不是。