为什么我的Python包不工作?- 找不到任何发行版
我用下面的setup.py文件制作了我的Python包的一个版本。
#!/usr/bin/env python
from setuptools import setup
setup(name='mypackagename',
version='0.1',
description='Tool ....',
author='Peter Smit',
author_email='lala@lala.com',
packages=['mypackagename'],
package_dir={'': 'src'},
install_requires=['boto'],
entry_points = dict(console_scripts=[
'mypackagenamescript = mypackagename.launcher:run',
])
)
我用python setup.py bdist_egg
命令创建了一个egg文件。
现在我尝试用pip安装它,但出现了以下错误:
bin/pip install mypackagename-0.1-py2.6.egg
Downloading/unpacking mypackagename-0.1-py2.6.egg
Could not find any downloads that satisfy the requirement mypackagename-0.1- py2.6.egg
No distributions at all found for mypackagename-0.1-py2.6.egg
完整的日志保存在 /home/peter/.pip/pip.log。
日志文件显示,它试图从pypi下载这个包,但显然那里并不存在。
我哪里做错了?我该如何安装这个egg文件以及它的依赖项呢?
3 个回答
2
Pip 不能安装 eggs,这让我觉得有点遗憾。我建议你试试 Pyg。只需下载 get-pyg.py
这个脚本,然后运行它:
$ curl -O https://raw.github.com/rubik/pyg/master/get-pyg.py
$ python get-pyg.py
Retrieving archive from ... etc.
注意:另外,你也可以通过 easy_install 或 pip 来安装它。
安装完成后,你就可以使用它了:
$ pyg install mypackagename-0.1-py2.6.egg
Pyg 也支持 virtualenv。
rubik
2
pip 不能从 eggs 安装。
如果你想让你的软件包在 PyPI 上可用,你需要注册一个账号并上传它。这样你就可以直接使用 pip install myproject
来安装。pip 会去 PyPI 上搜索,找到你的软件包,然后下载并安装它。
如果你已经准备好了 setup.py
文件,并想在本地安装你的应用,只需要输入 python setup.py install
。这时你不需要使用 pip 或 easy_install。
打包的指南里有关于这些内容的详细信息,应该能让你更清楚。
2
为什么不使用 setuptools 的 easy_install
呢?
easy_install mypackagename-0.1-py2.6.egg
如果你想使用“蛋”(这里指的是Python的包),那就得这么做。