我遇到了一个非常奇怪的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
答案 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路径中。