Нещодавній прогрес
Березень 2014 року : Добрі новини! Python 3.4 поставляється з Pip. Pip вже давно є фактичним менеджером стандартних пакетів Python. Ви можете встановити такий пакет :
pip install httpie
Уей! Це найкраща особливість будь-якого випуску 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
. Деякі відмовляться і винаходять колесо.
Звичайно, все це неправильно. Самий простий спосіб встановити пакет за допомогою команди , Піп. Але PyPI навіть не згадував Піпа. Натомість це призвело їх до архаїчного та нудного шляху.
Помилка: неможливо знайти vcvarsall.bat
Numpy - одна з найпопулярніших бібліотек Python. Спробуйте встановити його за допомогою Pip, ви отримаєте це загадкове повідомлення про помилку:
Помилка: неможливо знайти vcvarsall.bat
Намагаючись виправити, що є одним із найпопулярніших питань щодо переповнення стека: " помилка: неможливо знайти vcvarsall.bat "
Мало хто домагається успіху.
Для порівняння, у тій же ситуації Рубі друкує це повідомлення, в якому пояснюється, що відбувається і як це виправити:
Оновіть свій PATH, щоб включити інструменти збирання або завантажити DevKit з http://rubyinstaller.org/downloads та дотримуйтесь інструкцій на веб- сторінці http://github.com/oneclick/rubyinstaller/wiki/Development-Kit
Опублікувати пакети важко
Ruby і Nodejs постачаються з повнофункціональними менеджерами пакетів, Gem (з 2007 року) і Npm (з 2011 року), і підтримували спільні спільноти, що зосереджуються навколо GitHub. Npm робить публікацію пакетів настільки ж простим, як і їх установка, вона вже має 64-тисячні пакети . RubyGems перелічує 72 к пакетів . Індекс поважних пакетів Python містить лише 41k .
Історія
Літаючи перед девізом " включені батареї ", Python постачався без менеджера пакунків до 2014 року.
До Піпа фактичним стандартом була команда easy_install
. Це було жахливо неадекватно. Не було команди видаляти пакунки.
Піп був масовим поліпшенням. Він мав більшість рис дорогоцінного каміння Рубі. На жаль, Піп був - донедавна - іронічно складним у встановленні. Насправді проблема залишається головним питанням Python у стеці Overflow: " Як встановити pip для Windows? "