在多文件夹Python包中找不到模块

时间:2018-06-06 16:10:50

标签: python-2.7 package

我正在尝试在Python 2.7中创建一个包含多个嵌套目录的测试包,但它无法正常工作。我的目录结构是

testpack\
    setup.py
    testpack\
        __init__.py
        vspecial\
            __init__.py
            functions.py

setup.py包含:

from setuptools import setup
setup(name='testpack', packages=['testpack'])

外部__init__.py文件只是import vspecial。内部__init__.py文件只是import functions

当我python setup.py install时,我没有错误,但是当我进入python并执行import testpack时,我得到:

"...Anaconda2\lib\site-packages\testpack-0.0.0-py2.7egg\testpack\__init__.py", line 1, in <module> ImportError: No module named vspecial

我在Windows上使用Anaconda2。有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:1)

事实证明,在我的__init__.py文件中,我应该编写相对导入:from . import vspecial

setup.py我应该写packages=find_packages()