尝试使用pip来安装我上传到PyPI的Python包,得到"找不到匹配的发行版"

时间:2016-01-27 04:57:56

标签: python pip pypi

我是python的新手,试图弄清楚如何创建一个简单的包,上传到PyPI,然后使用PIP下载。

来源:https://github.com/shane-kercheval/kerlib

我试过:python setup.py register

似乎工作,结果:

running register
running egg_info
writing top-level names to kerlib.egg-info/top_level.txt
writing requirements to kerlib.egg-info/requires.txt
writing kerlib.egg-info/PKG-INFO
writing dependency_links to kerlib.egg-info/dependency_links.txt
reading manifest file 'kerlib.egg-info/SOURCES.txt'
writing manifest file 'kerlib.egg-info/SOURCES.txt'
running check
Registering kerlib to https://pypi.python.org/pypi
Server response (200): OK

因此,为了测试它,我创建了一个临时目录,创建了一个虚拟环境(virtualenv -p python3 venv_kerlibtest),激活了虚拟环境(source venv_kerlibtest/bin/activate),然后尝试通过pip下载({{ 1}})

得到了

pip install kerlib

当我尝试那些显然不存在的软件包时,我也有同样的事情,例如Could not find a version that satisfies the requirement kerlib (from versions: ) No matching distribution found for kerlib

思想?

2 个答案:

答案 0 :(得分:1)

仅仅运行python setup.py register是不够的;这只是在PyPI上为你的项目创建一个条目。您还需要运行python setup.py sdist bdist_egg upload将代码(从sdist)和二进制分发(从bdist_egg)上传到存储库。每次需要发布新版本时都需要这样做。

答案 1 :(得分:0)

对我来说,这是因为GFW的存在,我使用了非官方的pypi存储库(https://pypi.tuna.tsinghua.edu.cn/simple)来加快下载速度。

此存储库没有立即与PyPI中央存储库同步。

由于这个原因,请使用正式的回购协议或只是等待一些命令。