Python 3.x 如何打包在包中导入另一个模块的python模块

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

我正在创建一个Python3.7.2包,然后将其安装在不同的位置,安装在virtualenv中,以便在应用程序中使用。我的包有多个模块,它们之间有依赖项(导入)。我不知道如何正确加载包,以便使用包中的依赖模块

包目录

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=[(模块列表)]。这可能是也可能不是解决方案的一部分,也许不是。