【发布时间】:2019-10-26 02:05:49
【问题描述】:
我正在尝试构建我的第一个公开可用的 python 包,但在另一台机器上安装它时遇到了一些问题,不确定出了什么问题。我的项目是here。
在 master 分支上的所有 CI 步骤之后,Travis 将最新版本发布到 pypi。之后,我们可以在任何地方安装包:
pip install spin-clustering
但是当我尝试在我的常规 python 上导入它时,它说该模块不存在。
$ python -c "import spin"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'spin'
我的包最初被称为“spin”,但名称已经在 pypi 上使用,我将其更改为“spin-clustering”,但由于 scikit-learn 是使用“sklearn”导入的,我认为可以导入我的包装为“旋转”。不确定我在这里缺少什么。
这是我的包结构:
├── LICENSE
├── Makefile
├── Pipfile
├── README.md
├── examples
│ ├── circle-example.ipynb
│ └── random-cluster-example.ipynb
├── setup.cfg
├── setup.py
└── spin
├── __init__.py
├── distances
│ ├── __init__.py
│ ├── distances.py
│ └── tests
│ └── __init__.py
├── neighborhood_spin.py
├── side_to_side_spin.py
├── tests
│ ├── __init__.py
│ ├── test_spin.py
│ └── test_utils.py
└── utils.py
还有我的 setup.py
from setuptools import setup, find_packages
setup(name="spin-clustering",
maintainer="otaviocv",
maintainer_email="otaviocv.deluqui@gmail.com",
description="SPIN clustering method package.",
license="MIT",
version="0.0.3",
python_requires=">=3.6",
install_requires=[
'numpy>=1.16.4',
'matplotlib>=3.1.0'
]
)
【问题讨论】:
-
在 PyPI 上放置任何东西之前,您应该通过从文件路径安装到您的代码,安装到沙箱 (virtualenv) 中进行本地测试。
-
当然,我会更加小心。