无法通过库名称导入,即使我有python setup.py开发它

时间:2016-09-30 22:42:07

标签: python import

我遇到了一个非常奇怪的python导入问题。我编写了自己的repo,并使用setup.py脚本设置导入路径,脚本如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from __future__ import unicode_literals

from setuptools import setup, find_packages

__author__ = 'Shaun Rong'
__version__ = '0.1'
__maintainer__ = 'Shaun Rong'
__email__ = 'rongzq08@gmail.com'

if __name__ == "__main__":
    setup(name='Quantomic',
          version=__version__,
          author="Ziqin (Shaun) Rong, Wenxuan Huang",
          author_email="rongzq08@mit.edu key01027@mit.edu",
          license="MIT License",
          packages=find_packages(),
          zip_safe=False)

我使用python setup.py develop来运行代码。但是,我现在无法按名称 Quantomic 导入整个库,任何代码如

import Quantomic

from Quantomic import settings

会引发错误:ImportError: No module named Quantomic

我在库根目录下有一个__init__.py,我检查了sys.path/Users/shaunrong/Documents/projects/Quantomic在路径中。

然而,我可以使用类似

在Quantomic中的任何代码中使用相对路径导入
import settings

可以正常工作。

谁能告诉我发生了什么事?我很乐意根据要求提供更多信息!

更新

文件/文件夹结构如下:

/Quantomic
    __init__.py
    settings.py
    /data
        __init__.py
        price.py 

1 个答案:

答案 0 :(得分:1)

您的setup.py文件位于错误的目录中。这是您的文件夹结构

/Quantomic
    setup.py
    __init__.py
    settings.py
    /data
        __init__.py
        price.py 

看起来应该是这样的

/Quantomic (can be named anything)
    setup.py
    /Quantomic
        __init__.py
        settings.py
        /data
            __init__.py
            price.py 

当您上次运行setup.py时,它可能会在您的python安装中安装data库。或者,因为您使用了develop,所以它使用python libs文件夹中的data文件将pth上方的路径添加到python路径中。