5

我已经使用以下 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.

现在尝试使用 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 以及它的依赖项?

4

3 回答 3

2

pip无法从 egg 安装

如果你希望你的包在 PyPI 上可用,你需要在那里注册和帐户并上传它。然后你可以简单地说pip install myproject。它将搜索 PyPI,找到它,下载并安装它。

如果您已经setup.py准备好并想在本地安装您的应用程序,您只需说python setup.py install. 您不需要使用 pip 或 easy_install。

包装搭便车指南包含所有这些内容的详细信息。它应该让事情变得清楚。

于 2011-06-09T11:18:09.000 回答
2

为什么不使用setuptools easy_install

easy_install mypackagename-0.1-py2.6.egg 

如果你想和鸡蛋一起工作,那就是这样。

于 2011-06-09T11:29:05.350 回答
2

Pip 无法安装鸡蛋。恕我直言,这是一个严重的缺陷。我建议你试试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。

魔方

于 2011-06-09T11:56:55.267 回答