Каков официальный «предпочтительный» способ установки pip и virtualenv в масштабе всей системы?

Это то, что люди чаще всего рекомендуют:

$ sudo apt-get install python-setuptools
$ sudo easy_install pip
$ sudo pip install virtualenv

Или это, которое я получил от http://www.pip-installer.org/en/последняя /installing.html :

$ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...

Или что-то совсем другое?

86 голосов | спросил coffee-grinder 7 PMpThu, 07 Apr 2011 22:36:35 +040036Thursday 2011, 22:36:35

16 ответов


0

Если вы можете установить последнюю версию Python (2.7.9 и выше), Pip теперь в комплекте с ним. См. https://docs.python.org/2.7//install/index.html.
Если нет:
Обновление (из заметок о выпуске):

  

Начиная с v1.5.1, pip не требует setuptools перед запуском get-pip.py. Кроме того, если setuptools (или распространять) еще не установлен, get-pip.py установит для вас setuptools.

Теперь я запускаю обычную программу.

curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python

Вот официальные инструкции по установке: http://pip.readthedocs.org/en/latest/install.html # установить пипсов

РЕДАКТИРОВАТЬ 25 июля 2013 г .:
Изменен URL для установки setuptools.

РЕДАКТИРОВАТЬ 10 ​​февраля 2014 г .:
Удалена установка setuptools (спасибо @Ciantic)

РЕДАКТИРОВАТЬ 26-Jun-2014:
Снова обновил URL (спасибо @LarsH)

РЕДАКТИРОВАТЬ 1 марта 2015 г .:
Пип теперь в комплекте с Python

ответил Tal Weiss 11 J000000Thursday13 2013, 22:53:03
0

http://www.pip-installer.org/en/latest/Установка .html - действительно канонический ответ на этот вопрос.

В частности, общесистемные инструкции:

$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ python get-pip.py

Раздел, процитированный в вопросе, является инструкциями virtualenv, а не общесистемными. Инструкции easy_install существуют дольше, но больше делать это не нужно.

ответил Richard Jones 8 AMpFri, 08 Apr 2011 09:11:37 +040011Friday 2011, 09:11:37
0

Этот ответ получен из @webology в Твиттере:

$ sudo apt-get install python-setuptools
$ sudo easy_install pip
$ sudo pip install --upgrade pip virtualenv virtualenvwrapper

Мои добавленные заметки:

  • В Mac /Windows (и Linux, если репозиторий apt устарел) первый шаг можно заменить загрузкой setuptools с http: //pypi.python.org/pypi/setuptools
  • В Windows вы должны были бы опустить virtualenvwrapper с последнего шага и каким-то образом установить его вручную. Я не знаю, есть ли способ сделать это без Cygwin, но я надеюсь на это.
ответил coffee-grinder 7 PMpThu, 07 Apr 2011 23:24:25 +040024Thursday 2011, 23:24:25
0

В Ubuntu 12.04 мне повезло, что я использовал только менеджер пакетов

sudo apt-get install python-pip virtualenvwrapper
ответил Jason McVetta 3 +04002012-10-03T07:37:16+04:00312012bEurope/MoscowWed, 03 Oct 2012 07:37:16 +0400 2012, 07:37:16
0

Нет предпочтительного метода - все зависит от ваших потребностей. Часто по какой-либо причине в системе должны быть разные интерпретаторы Python. В этом случае вам нужно установить вещи индивидуально для каждого переводчика. Кроме того: я предпочитаю устанавливать вещи самостоятельно, а не зависеть от предварительно упакованных вещей, которые иногда вызывают проблемы - но это только один из возможных вариантов.

ответил Andreas Jung 7 PMpThu, 07 Apr 2011 22:40:26 +040040Thursday 2011, 22:40:26
0

На этот вопрос действительно нет единственного «ответа», но, безусловно, есть несколько полезных понятий, которые могут помочь вам принять решение.

Первый вопрос, на который нужно ответить в вашем случае использования: «Хочу ли я использовать системный Python?» Если вы хотите использовать Python, распространяемый вместе с вашей операционной системой, то использовать метод установки apt-get может быть просто замечательно. Однако, в зависимости от способа распространения операционной системы, вам все равно придется задать еще несколько вопросов, таких как «Хочу ли я установить несколько версий этого пакета?» Если ответ да, то, вероятно, не стоит использовать что-то вроде apt. Dpkg в значительной степени просто распакует архив в корне файловой системы, так что именно сопровождающий пакета должен убедиться, что пакет устанавливается безопасно при минимальных допущениях. В случае большинства пакетов Debian я бы предположил (кто-то может поправить меня здесь), что они просто распаковывают и предоставляют пакет верхнего уровня.

Например, скажем, что пакет "virtualenv", вы получите /usr/lib/python2.x/site-packages/virtualenv. Если вы установите его с помощью easy_install, вы получите что-то вроде /usr/lib/python2.x/site-packages/virtualenv.egg-link, который может указывать на /usr/lib/python2.x/site-packages/virtualenv-1.2-2.x.egg, который может быть каталогом или молнией. Pip делает нечто подобное, хотя он не использует яйца и вместо этого помещает пакет верхнего уровня непосредственно в каталог lib.

Я мог бы быть на пути, но суть в том, что каждый метод учитывает различные потребности. Вот почему такие инструменты, как virtualenv, полезны, так как они позволяют помещать в песочницу ваши библиотеки Python, так что вы можете иметь любую нужную комбинацию библиотек и версий.

Setuptools также позволяет устанавливать пакеты как мультиверсионные, что означает, что не создается единственное мо dule_name.egg-link. Для импорта этих пакетов вам необходимо использовать pkg_resources и функцию __import__.

Если вернуться к исходному вопросу, если вы довольны системным питоном и планируете использовать virtualenv и pip для создания сред для различных приложений, то установка virtualenv и /или pip на системном уровне с помощью apt-get представляется полностью подходящей. , Однако одно предостережение заключается в том, что если вы планируете обновить свои дистрибутивы Python, это может иметь волновой эффект через ваши virtualenvs, если вы вернетесь назад к пакетам своего системного сайта.

Я должен также упомянуть, что ни один из этих вариантов по своей природе не лучше, чем другие. Они просто используют разные подходы. Использование системной версии является отличным способом установки приложений Python, но это может быть очень сложный способ разработки с Python. Простота установки и настройки очень удобна в мире без virtualenv, но если вам нужно использовать разные версии одной и той же библиотеки, она также становится довольно громоздкой. Pip и virtualenv действительно действуют как виртуальная машина. Вместо того, чтобы устанавливать вещи рядом, вы просто создаете совершенно новую среду. Недостатком здесь является то, что спустя 30+ virtualenvs вы могли бы использовать довольно много дискового пространства и загромождать свою файловую систему.

Как вы можете видеть, из-за множества опций трудно сказать, какой метод использовать, но после небольшого изучения ваших вариантов использования вы сможете найти метод, который работает.

ответил elarson 8 PMpFri, 08 Apr 2011 21:27:43 +040027Friday 2011, 21:27:43
0

Сделайте это:

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
pip install virtualenv

Смотрите

ответил asmaier 14 PMpTue, 14 Apr 2015 13:39:36 +030039Tuesday 2015, 13:39:36
0

Поскольку virtualenvs содержит pip по умолчанию, я почти никогда не устанавливаю pip глобально. То, что я делаю, в конечном итоге выглядит как:

$ sudo apt-get install python-setuptools
$ curl -O http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py
$ sudo easy_install virtualenv

Затем я приступаю к установке и настройке virtualenvwrapper по своему вкусу, и я ухожу. возможно, стоит взглянуть на virtualenv-burrito Джереми Авнета:

https://github.com/brainsik/virtualenv-burrito

ответил David Gouldin 7 PMpThu, 07 Apr 2011 22:49:32 +040049Thursday 2011, 22:49:32
0

@ericholscher говорит в Твиттере: «Тот, что в официальных документах ..»

Замечательно, вы должны делать то, что говорят документы.

Цитируется из официальных инструкций по установке в pip на http: //www.pip installer.org/en/latest/installing.html :

$ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...
ответил coffee-grinder 8 PMpFri, 08 Apr 2011 21:18:23 +040018Friday 2011, 21:18:23
0

Начиная с дистрибутивов, вы можете использовать:

sudo apt-get install python-virtualenv

который позволяет вам создавать virtualenvs или

sudo apt-get install python{,3}-pip

который позволяет вам устанавливать произвольные пакеты в ваш домашний каталог.

Если вы привыкли к virtualenv, первая команда даст вам все, что вам нужно (помните, что pip входит в комплект и будет установлен в любом создаваемом вами virtualenv).

Если вы просто хотите установить пакеты, вторая команда даст вам то, что вам нужно. Используйте пункт так:

pip install --user something

и поместите что-то вроде

PATH=~/.local/bin:$PATH

в вашем ~/.bashrc.


Если ваш дистрибутив древний и вы вообще не хотите использовать его пакеты (возможно, за исключением самого Python), вы можете скачать virtualenv, как tar-архив или как отдельный скрипт:

wget -O ~/bin/virtualenv https://raw.github.com/pypa/virtualenv/master/virtualenv.py
chmod +x ~/bin/virtualenv

Если ваш дистрибутив более продвинутый, у Python3.3 есть встроенные виртуальные способности:

python3 -m venv ./venv

Это работает намного быстрее, но setuptools и pip не включены.

ответил Tobu 23 J0000006Europe/Moscow 2013, 06:31:53
0

Чтобы установить pip на mac (osx), мне пригодился следующий лайнер:

sudo easy_install pip
ответил Brad Parks 27 Jpm1000000pmMon, 27 Jan 2014 21:24:19 +040014 2014, 21:24:19
0

В Raspbian даже нет необходимости упоминать python2.7. Действительно, это лучший способ установить pip, если версия Python менее 2.7.9.

curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python

Благодаря @ tal-weiss

ответил Hemant Kumar 25 PM00000020000000231 2015, 14:11:02
0

https://github.com/pypa/pip/raw /master /contrib /get-pip.py сейчас, вероятно, правильный путь.

ответил coderanger 7 PMpThu, 07 Apr 2011 22:52:50 +040052Thursday 2011, 22:52:50
0

Я использую get-pip и virtualenv-burrito для установки всего этого. Не уверен, что требуется python-setuptools.

# might be optional. I install as part of my standard ubuntu setup script
sudo apt-get -y install python-setuptools

# install pip (using get-pip.py from pip contrib)
curl -O https://raw.github.com/pypa/pip/develop/contrib/get-pip.py && sudo python get-pip.py

# one-line virtualenv and virtualenvwrapper using virtualenv-burrito
curl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash
ответил carl_kibler 7 PMpThu, 07 Apr 2011 22:52:45 +040052Thursday 2011, 22:52:45
0

На Debian лучший способ сделать это -

sudo apt-get install python-pip

ответил Yehonatan 20 SatEurope/Moscow2014-12-20T15:37:05+03:00Europe/Moscow12bEurope/MoscowSat, 20 Dec 2014 15:37:05 +0300 2014, 15:37:05
0

Первый метод в порядке. Единственная проблема, которую я вижу, это то, что вы можете получить старую версию setuptools (если хранилище apt не обновлялось)

ответил bradley.ayers 7 PMpThu, 07 Apr 2011 22:39:05 +040039Thursday 2011, 22:39:05

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132