ImportError 无法导入名称 - 非特定
ImportError Cannot import name - nonspecific
我制作了 python 包裹来自
https://github.com/raamana/pyradigm
并使用以下命令将其上传到 pip
(按照 pypi 等上的说明进行操作):
python setup.py sdist bdist_wheel
twine upload dist/*
理论上,现在应该可以做到了
pip install pyradigm
(我可以确认有效)然后在 Python 文件中执行以下操作:
from pyradigm import MLDataset
使用 pyradigm
中的 class MLDataset
不幸的是,情况并非如此,因为 Python 抛出以下 ImportError
这是相当不具体的:
In [1]: from pyradigm import MLDataset
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-4ad7330da13e> in <module>()
----> 1 from pyradigm import MLDataset
ImportError: cannot import name MLDataset
我可以确认
- 我能够在新系统上通过 pip 安装 pyradigm
- pip 和 python 都能找到包(安装在站点包中),因为它们会自动填充模块名称(
pyradigm
和 class 名称 MLDataset
).
金字塔中的setup.py是这样的:
#!/usr/bin/env python
import os
from setuptools import setup, find_packages
# Utility function to read the README file.
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
setup(name='pyradigm',
version='0.1.1.2',
description='Python-based data structure to improve handling of datasets in machine learning workflows',
long_description=read('README.md'),
keywords='machine learning, test dataset, python, workflow, provenance, data structure',
author='Pradeep Reddy Raamana',
url='https://github.com/raamana/pyradigm',
packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]), # packages=['pyradigm'],
install_requires=['numpy', 'setuptools'],
)
压缩包只有3个文件:
__init__.py pyradigm.py test_pyradigm.py
与 __init__.py
仅包含一行:
__all__ = [ 'pyradigm', 'MLDataset' ]
如能帮助理解此错误以及解决此错误的方法,我们将不胜感激。谢谢。
这是因为您在 pyradigm
包中有一个 pyradigm
模块。
我已经使用 pip install pyradigm
在 virtualenv
中安装了软件包,并使用
成功导入了 MLDataset
from pyradigm.pyradigm import MLDataset
如果你想导入为
from pyradigm import MLDataset
将您的 __init__.py
更新为
from pyradigm import MLDataset
我制作了 python 包裹来自
https://github.com/raamana/pyradigm
并使用以下命令将其上传到 pip
(按照 pypi 等上的说明进行操作):
python setup.py sdist bdist_wheel
twine upload dist/*
理论上,现在应该可以做到了
pip install pyradigm
(我可以确认有效)然后在 Python 文件中执行以下操作:
from pyradigm import MLDataset
使用 pyradigm
MLDataset
不幸的是,情况并非如此,因为 Python 抛出以下 ImportError
这是相当不具体的:
In [1]: from pyradigm import MLDataset
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-4ad7330da13e> in <module>()
----> 1 from pyradigm import MLDataset
ImportError: cannot import name MLDataset
我可以确认
- 我能够在新系统上通过 pip 安装 pyradigm
- pip 和 python 都能找到包(安装在站点包中),因为它们会自动填充模块名称(
pyradigm
和 class 名称MLDataset
).
金字塔中的setup.py是这样的:
#!/usr/bin/env python
import os
from setuptools import setup, find_packages
# Utility function to read the README file.
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
setup(name='pyradigm',
version='0.1.1.2',
description='Python-based data structure to improve handling of datasets in machine learning workflows',
long_description=read('README.md'),
keywords='machine learning, test dataset, python, workflow, provenance, data structure',
author='Pradeep Reddy Raamana',
url='https://github.com/raamana/pyradigm',
packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]), # packages=['pyradigm'],
install_requires=['numpy', 'setuptools'],
)
压缩包只有3个文件:
__init__.py pyradigm.py test_pyradigm.py
与 __init__.py
仅包含一行:
__all__ = [ 'pyradigm', 'MLDataset' ]
如能帮助理解此错误以及解决此错误的方法,我们将不胜感激。谢谢。
这是因为您在 pyradigm
包中有一个 pyradigm
模块。
我已经使用 pip install pyradigm
在 virtualenv
中安装了软件包,并使用
MLDataset
from pyradigm.pyradigm import MLDataset
如果你想导入为
from pyradigm import MLDataset
将您的 __init__.py
更新为
from pyradigm import MLDataset