Почему мое яйцо питона не работает? - вообще не найдено дистрибутивов для

Я сделал дистрибутив своего пакета python со следующим setup.py

#!/usr/bin/env python

from setuptools import setup

setup(name='mypackagename',
      version='0.1',
      description='Tool ....',
      author='Peter Smit',
      author_email='[email protected]',
      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, где его явно нет.

Что я сделал не так? Как я могу установить это мое яйцо и его зависимости?


person Peter Smit    schedule 09.06.2011    source источник


Ответы (3)


почему бы не использовать инструменты настройки easy_install?

easy_install mypackagename-0.1-py2.6.egg 

Если вы хотите работать с яйцами, это путь.

person neurino    schedule 09.06.2011
comment
easy_install в значительной степени был заменен pip. - person Noufal Ibrahim; 09.06.2011
comment
@Нуфаль Ибрагим: так? Разве не стоит вопрос об установке локального яйца? easy_install делает это, более того, установка setuptools занимает несколько секунд, virtulenv устанавливает его по умолчанию, и его использование далеко не устаревший банкомат. - person neurino; 09.06.2011
comment
Я не знаю, использовались ли setuptools или дистрибутив для создания яйца, но это отдельный вопрос. Главный вопрос вопрошавших заключался в том, чтобы вытащить зависимости, для которых яйцо вообще не нужно. Все, что вам нужно сделать, это запустить команду install, и она подтянет зависимости. Я бы не рекомендовал использовать easy_install, так как общее сообщество python отходит от него, яиц и всего остального. - person Noufal Ibrahim; 09.06.2011
comment
Код спрашивающего, 3-я строка: from setuptools import setup... и вопрос всегда о яйцах... если кто-то спросит о вождении колесницы, вы отвечаете Эй, ты разве не знаешь, что мы перешли на машины? Используйте их вместо этого ^^ - person neurino; 09.06.2011
comment
В любом случае, я не фанатик setuptools, просто он легко доступен, спрашивающий использовал его для создания яйца, easy_install работает с локальными файлами ... зачем беспокоиться об обходных путях или изменении метода работы? Используйте easy_install и живите с этим. Я использую его для развертывания приложений на сервере, и мне это очень удобно: просто sftp и easy_install the egg, и все готово... - person neurino; 09.06.2011
comment
distribute — это форк setuptools, который более обслуживается. Когда вы говорите from setuptools import..., вы, скорее всего, используете дистрибутив (virtualenv сейчас использует его по умолчанию). Не буду утруждать себя аналогией с вашим автомобилем. Беспокойство вопрошающих было (из его ответа на мой ответ) установкой зависимостей. Для этого не нужны яйца. Что касается easy_install, setuptools и т. д., вы можете придерживаться их, но я знаю, что они устарели, и думаю, что было бы полезно предоставить спрашивающим подробности. - person Noufal Ibrahim; 09.06.2011

pip не может установить из яиц.

Если вы хотите, чтобы ваш пакет был доступен в PyPI, вам необходимо зарегистрироваться и создать учетную запись, а затем загрузить его. Затем вы можете просто сказать pip install myproject. Он будет искать PyPI, найдет его, загрузит и установит.

Если у вас есть готовый setup.py и вы хотите установить приложение локально, все, что вам нужно сделать, это сказать python setup.py install. Вам не нужно использовать pip или easy_install.

руководство по упаковке для автостопщиков содержит подробную информацию обо всех этих вещах. Это должно прояснить ситуацию.

person Noufal Ibrahim    schedule 09.06.2011
comment
Я не хочу, чтобы мой пакет был в PyPI, так как он не будет доступен бесплатно. Кажется, яйца — это то, что нужно, но я хочу, чтобы зависимости извлекались из PyPi. Мне все еще не нужен pip или easy_install? - person Peter Smit; 09.06.2011
comment
python setup.py install автоматически подтянет зависимости. Яйца вообще не нужны. Это двоичный формат распространения. - person Noufal Ibrahim; 09.06.2011

Пип не может устанавливать яйца. ИМХО серьезный недостаток. Я бы посоветовал вам попробовать 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.

рубик

person rubik    schedule 09.06.2011
comment
Да, это новый инструмент Python! Он находится в стадии интенсивной разработки. Вы можете найти его по адресу: github.com/rubik/pyg. Дайте мне знать, если вы хотите стать частью команды разработчиков! Документация размещена по адресу: pyg.readthedocs.org/en/latest/index.html - person rubik; 10.06.2011