Рекомендуемый способ установки pip (3) на centos7 - PullRequest
0 голосов
/ 18 мая 2018

Меня интересует знание рекомендуемого способа установки pip3 для python3.6 (на сегодняшний день, май 2018 г.) на текущую версию centos7 (7.5.1804) и принятый ответ Как установить pip в CentOS7? , кажется, устарел, потому что:

yum search -v pip

выводит (среди прочего):

python2-pip.noarch : A tool for installing and managing Python 2 packages
Repo        : epel

python34-pip.noarch : A tool for installing and managing Python3 packages
Repo        : epel

и python34-pip кажется (более новым?) Более простым способомчем принятый ответ Как установить pip в CentOS 7? :

sudo yum install python34-setuptools

sudo easy_install-3.4 pip

Но поскольку на моем компьютере установлены версии python 2.7.5 и 3.6.3, почему это python34-pip, а не python36-pip?Пипс одинаков для 3.4+ (до текущего 3.6.3)?

Ответы [ 7 ]

0 голосов
/ 07 апреля 2019

Если вы видите, что pip3 связан с путем python2:

$ pip3 -V

pip 8.1.2 из /usr/lib/python2.7/site-packages / pip (python 2.7)

Вы, вероятно, получите:

$ pip3 install --upgrade pip

TypeError: parse () получил неожиданный аргумент ключевого слова 'transport_encoding'

Затем попытайтесь очистить кэш команд с помощью hash -r .Это сработало для меня:

# Install Python 3:
sudo yum install python36 -y

# Install & Upgrade pip3
sudo python36 -m pip install --upgrade pip

# Validate pip3 installation:
sudo python3.6 -m ensurepip
#  Successfully installed pip-10.0.1 setuptools-39.0.1

# Clear commands cache
hash -r
# might be required if getting in bash: /usr/bin/pip3: No such file or directory)

pip3 -V
# pip 19.0.3 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

which pip3
# /usr/local/bin/pip3

pip2 -V
# pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

which pip2
# /usr/local/bin/pip2

# Install your Python3 module:
sudo /usr/local/bin/pip3 install {required module for python3}
0 голосов
/ 17 апреля 2019

В EPEL теперь есть пакет python36-pip.

Сначала убедитесь, что EPEL доступен, и установите epel-release, если он отсутствует (эта команда работает в новой системе; ymmv в зависимости от конкретных конфигураций репозиториев Yum):

if ! { yum makecache fast >/dev/null 2>&1 && yum --cacheonly repolist enabled | grep -qE '^epel\/' ; }; then
  yum install --assumeyes epel-release
fi

При установке python36-pip также будут установлены python36, python36-libs и python36-setuptools:

yum install --assumeyes python36-pip

Теперь вы можете проверить версию (да, этоустарел, но это то, что исходит от EPEL):

$ pip3 --version
pip 8.1.2 from /usr/lib/python3.6/site-packages (python 3.6)

Если вы не хотите отклоняться от файлов, предоставляемых пакетом python36-pip, и не хотите видеть предупреждения о pipчтобы быть старым, см. https://stackoverflow.com/a/46288945/534275, чтобы заставить замолчать сообщения.

0 голосов
/ 17 февраля 2019

Попробуйте это ::

sudo yum update
sudo yum install -y python36u python36u-libs python36u-devel python36u-pip

Работает для меня отлично.

0 голосов
/ 26 сентября 2018

Чтобы установить pip для python 3.6 в CentOS 7, вам нужно запустить

$ python3.6 -m ensurepip

0 голосов
/ 11 сентября 2018

Pip по какой-то причине не входит в EPEL-версию Python 3.6.Я предполагаю, что приличное количество людей (таких как я) найдут эту страницу из-за этого.

$ sudo yum install -y python36
...
$ python36 -m pip
/usr/bin/python36: No module named pip

Так что в этом случае пакет setuptools был самым простым решением.

$ sudo yum install python36-setuptools
$ sudo easy_install-3.6 pip
...
$ python36 -m pip --version
pip 18.0 from /usr/local/lib/python3.6/site-packages/pip-18.0-py3.6.egg/pip (python 3.6)
0 голосов
/ 01 сентября 2018

Выполните следующие команды в Centos 7

yum install python36
yum install python36-devel
yum install python36-setuptools
easy_install-3.6 pip

, чтобы проверить версию пункта:

pip3 -V
pip 18.0 from /usr/local/lib/python3.6/site-packages/pip-18.0-py3.6.egg/pip (python 3.6)
0 голосов
/ 18 мая 2018
  1. Это же пункт для 3.4 +

    Нет, это не так.Одна установка pip обслуживает один дистрибутив Python (pip2.7 / pip3.4 / pip3.5 и т. Д.).

  2. Начиная с Python 3.5, pip уже связан с дистрибутивом python, поэтому вы можете просто запустить python3.6 -m pip вместо pip.

  3. Python 3.6 недоступен в CentOS 7 ванильного репо.Я обычно прибегаю к IUS repo , когда мне нужно установить новый Python на CentOS.Он всегда имеет самую последнюю версию Python, , текущая версия 3.6.5 .Он также предлагает корреспондентский пакет pip .

    $ yum install https://centos7.iuscommunity.org/ius-release.rpm
    $ yum install python36u python36u-devel python36u-pip
    

    К сожалению, IUS пока не предлагает пакет для Python 3.7 , так что если вы ищетеPython 3.7 в CentOS 7, сборка из исходного кода - ваш единственный выбор.

Редактировать: когда yum не вариант

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

...