无法在安装了子包的情况下导入Python设置.py

2024-04-26 06:01:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我开发了一个python包,我想在另一个项目中使用它。 包结构如下所示:

- foo
  - setup.py
  - README.md
  - foo
    - __init__.py
    - main.py
    - bar.py
    - sub_pkg1
       - __init__.py
       - example.py
    - sub_pkg2
       - __init__.py
       - example2.py

bar.py文件包含Bar-类,它依赖于sub_pkg1和{}中的文件

^{pr2}$

__init__.py文件只导入其目录中的每个python文件。 例如,sub_pkg1__init__.py

from example import ExampleClass

main.py文件只是导入Bar类并执行它的一些方法。在

from bar import Bar
bar = Bar()
bar.foo()

setup.py文件如下所示:

from setuptools import setup, find_packages

setup(
    name='Bar',
    version='0.0.7',
    author='me',
    packages=find_packages()
)

当我直接从包中运行main.py文件时,它就像一个咒语。 但是,当我使用pip在另一个项目中安装它时,使用以下命令: (我还不想将包发布到PyPi,只想在我的其他项目中包含开发版本)

pip install -e /path/to/package

我正在尝试导入错误:

ModuleNotFoundError: No module named 'example'

我需要以某种方式导出sub_包吗?在

我使用python3.6


Tags: 文件项目frompyimportfooinitmain