安装和加载带有嵌入式 _init__.py 文件的模块

Install and load module with embeded _init__.py files

我不想问一个多余的问题,但我被困住了,需要帮助:

假设我有一个结构如下的示例项目:

project/
    setup.py
    example/
        __init__.py
        prg.py
        tests/
            __init__.py
            test_foo.py

setup.py 看起来像:

from setuptools import setup

setup(name='example', version='0.12c',
      description='Example Description',
      author='me', author_email='me@gmail.com',
      packages=['example'])

我正在尝试使用

将它安装到基础 anaconda(windows 10,python 3.6,conda 版本:4.6.3)
python setup.py install

一切似乎都很好:

Installed c:\anaconda3\lib\site-packages\example-0.12rc0-py3.6.egg
Processing dependencies for example==0.12rc0
Finished processing dependencies for example==0.12rc0

当我尝试在 ipython 中加载我的包时:

import example

我收到以下错误:

In [1]: import example
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-3ef45b82d40c> in <module>()
----> 1 import example

C:\workspace\git_clones\example\example\__init__.py in <module>()
----> 1 from prg import object1, object2

ModuleNotFoundError: No module named 'prg'

我哪里不明白?

尝试将 . 添加到 __init__.py 中的导入:

from .prg import object1, object2

有关相对导入的更多信息,请参阅 this question