为什么我的Python包不工作?- 找不到任何发行版

5 投票
3 回答
8517 浏览
提问于 2025-04-16 19:15

我用下面的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

为什么不使用 setuptoolseasy_install 呢?

easy_install mypackagename-0.1-py2.6.egg 

如果你想使用“蛋”(这里指的是Python的包),那就得这么做。

撰写回答