Последние достижения
Март 2014 : Хорошие новости! Python 3.4 поставляется с Pip. Pip уже давно является стандартным менеджером пакетов Python. Вы можете установить пакет следующим образом:
pip install httpie
Wahey! Это лучшая особенность любого выпуска Python. Это делает сообщество доступным для всех. Новички больше не исключаются из использования общественных библиотек из-за чрезмерной сложности установки.
Однако , остается ряд выдающихся разочарований от опыта упаковки Python. Кумулятивно, они делают Python очень нежелательным для новичков. Кроме того, долгая история пренебрежения (т. Е. Отсутствие доставки с менеджером пакетов в течение 14 лет с Python 2.0 до Python 3.3) нанесла ущерб сообществу. Я опишу оба ниже.
Выдающиеся разочарования
Важно понимать, что хотя опытные пользователи могут обходить эти проблемы, они являются серьезными препятствиями для людей, плохо знакомых с Python. На самом деле, сложность и недружественность пользователей могут отпугнуть многих из них.
Сайт PyPI не помогает
Каждый язык с менеджером пакетов имеет официальный (или квазиофициальный) репозиторий для сообщества, чтобы загружать и публиковать пакеты. Python имеет индекс пакета Python, PyPI. https://pypi.python.org/pypi
Давайте сравним его страницы со страницами RubyGems и Npm (менеджер пакетов Node).
- https://rubygems.org/gems/rails Страница RubyGems для пакета
rails
- https://www.npmjs.org/package/express Страница Npm для пакета
express
- https://pypi.python.org/pypi/simplejson/ Страница PyPI для пакета
simplejson
Вы увидите, что страницы RubyGems и Npm начинаются с однострочного описания пакета, а затем с большими дружескими инструкциями по его установке.
Между тем, горе любому несчастному пользователю Python, который наивно обращается к PyPI. На https://pypi.python.org/pypi/simplejson/ они не найдут таких полезных инструкций. Тем не менее, есть большая зеленая ссылка «Скачать». Это не лишено смысла следовать этому. Ага, они кликают! Их браузер загружает файл .tar.gz
. Многие пользователи Windows не могут даже открыть его, но если они упорствуют, они могут в конечном итоге извлечь его, а затем запустить setup.py
и в конечном итоге с помощью Google setup.py install
. Некоторые сдаются и заново изобретают колесо ..
Конечно, все это неправильно. Самый простой способ установки пакета - использовать команду Pip. Но PyPI даже не упомянул Pip. Вместо этого он повел их по архаичному и утомительному пути.
Ошибка: невозможно найти vcvarsall.bat
Numpy - одна из самых популярных библиотек Python. Попробуйте установить его с Pip, вы получите это загадочное сообщение об ошибке:
Ошибка: невозможно найти vcvarsall.bat
Попытка исправить это один из самых популярных вопросов о переполнении стека: « ошибка: невозможно найти vcvarsall.bat »
Мало кто преуспевает.
Для сравнения, в той же ситуации Ruby печатает это сообщение, которое объясняет, что происходит и как это исправить:
Пожалуйста, обновите ваш PATH, чтобы включить инструменты сборки, или загрузите DevKit с http://rubyinstaller.org/downloads и следуйте инструкциям на http://github.com/oneclick/rubyinstaller/wiki/Development-Kit
Публикация пакетов сложна
Ruby и Nodejs поставляются с полнофункциональными менеджерами пакетов, Gem (с 2007 года) и Npm (с 2011 года), и создали сообщества для обмена, сосредоточенные вокруг GitHub. Npm делает публикацию пакетов столь же простым, как и их установку, он уже имеет 64k пакетов . Списки RubyGems 72k пакетов . Достопочтенный индекс пакетов Python только 41k .
История
Вопреки своему девизу " в комплекте ", Python поставлялся без менеджера пакетов до 2014 года.
До Пипа стандартом де-факто была команда easy_install
. Это было ужасно неадекватно. Не было команды для удаления пакетов.
Пип был огромным улучшением. У этого были большинство особенностей Рубинового Драгоценного камня. К сожалению, Pip до недавнего времени было нелегко установить. На самом деле проблема остается главным вопросом Python о переполнении стека: « Как мне установить pip в Windows? »