【问题标题】:Install and load module with embeded _init__.py files使用嵌入式 _init__.py 文件安装和加载模块
【发布时间】:2019-03-12 21:28:46
【问题描述】:

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

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

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 version : 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'

我不明白什么?

【问题讨论】:

    标签: python installation setuptools


    【解决方案1】:

    尝试在__init__.py 的导入中添加.

    from .prg import object1, object2
    

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

    【讨论】:

      猜你喜欢
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      • 2015-07-20
      • 2016-06-14
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多