Как установить pip для python 3.7 на Ubuntu 18?

92

РЕДАКТИРОВАТЬ 18/02: Поскольку у меня все еще нет решения, я обновляю то, что знаю до сих пор.

Я успешно установил python 3.7. Я могу устанавливать модули с помощью pip (или pip3), но эти модули установлены в Python 3.6 (поставляется с ubuntu). Поэтому я не могу импортировать эти модули в python 3.7 (получить модуль не найден) Python 3.7 не распознает pip / pip3, поэтому я не могу установить через pip / pip3 Мне нужен python 3.7

-

Я установил Python 3.7 на свой компьютер с Ubuntu 18.04. Следуя этим инструкциям, если это актуально:

Загрузите Python 3.7 с веб-сайта Python [1] на рабочий стол и распакуйте его вручную на рабочем столе. Установка: откройте терминал (ctrl + shift + T)

Go to the Extracted folder
$ cd ~/Desktop/Python-3.7.0
$ ./configure
$ make
$ sudo make install

Делаем Python 3.7 Python по умолчанию:

$ sudo vim ~/.bashrc
press i
on the last and new line - Type
alias python= python3.7
press Esc
type - to save and exit vim
:wq
now type
$ source ~/.bashrc

Отсюда: https://www.quora.com/How-can-I-upgrade-Python-3-6-to-3-7-in-Ubuntu-18-04

Я загрузил несколько модулей, pip install moduleно когда я пытаюсь их импортировать, я получаюModuleNotFoundError: No module names 'xx'

Итак, я провел некоторое исследование и, по-видимому, когда использовал pip для установки, он устанавливался в модулях в предыдущей версии Python. Где-то (вероятно, вопрос в SO) я нашел предложение установить модуль с помощью, python3.7 -m pip install moduleно потом получаю /usr/local/bin/python3.7: no module named pip.

Теперь я застрял, pip установлен, но, видимо, не для Python 3.7. Я предполагаю, что если я смогу установить pip для Python 3.7, я могу запустить команду pip install и получить нужные мне модули. Если это так, как я могу установить pip для python 3.7, если он уже установлен?

ZeCarioca
источник

Ответы:

119

Команда, которую вы ищете:

python3.7 -m pip install pip

Мне тоже потребовалось удивительно много времени, чтобы понять это. Документы об этом здесь .

мпенков
источник
45
Уже пробовал, вывод: /usr/local/bin/python3.7: no module named pip[То же самое для pip3]
ZeCarioca
8
Похоже, в вашей установке Python 3.7 отсутствует pip. Вы можете попробовать установить его с помощью: python3.7 -m ensurepip. Также я заметил, что вы установили из исходников. Если указанные выше параметры не работают для вас, то , возможно , попробуйте установить с помощью APT вместо: apt install python3.7? Пакет apt поставляется с установленным модулем pip.
mpenkov
6
Я попробовал python3.7 -m ensurepip, установил, но при использовании python3.7 -m pip install packageполучил кучу ошибок. Поскольку я был на виртуальной машине, я вернулся перед установкой python 3.7 и попробовал, apt install python3.7а затем python3.7 -m pip install package. Теперь все идет гладко. Благодарность!
ZeCarioca,
1
исправьте пожалуйста свой ответ. это не удалось. но это python3.7 -m pip install pipпрекрасно работает
Nwawel A Iroume
2
Вы должны заменить «package» на имя пакета, который вы пытаетесь установить.
mpenkov
102

Быстрое дополнение к ответу mpenkov выше (не хотел, чтобы это потерялось в комментариях)

Для меня мне сначала пришлось установить pip для 3.6

sudo apt install python3-pip

теперь вы можете установить python 3.7

sudo apt install python3.7

а затем я мог бы установить pip для 3.7

python3.7 -m pip install pip

и в качестве бонуса, чтобы установить другие модули, просто добавьте

python3.7 -m pip install <module>

РЕДАКТИРОВАТЬ 1 (12/2019):

Я знаю, что для большинства это очевидно. но если вы хотите python 3.8, просто замените python3.8вместоpython3.7

РЕДАКТИРОВАТЬ 2 (5/2020):

Для тех, кто может выполнить обновление, Python 3.8 доступен прямо из коробки для Ubuntu 20.04, выпущенного несколько недель назад.

данжел
источник
3
Тай! Также вызов, pip3.7похоже, работает после выполнения шагов.
toster-cx
Почему это происходит, может ли кто-нибудь пролить свет на это странное поведение?
Адриан
1
Это также будет необходимо, export PATH=$HOME/.local/bin:$PATHпотому что python3.7 -m pip install pipставит пипс в$HOME/.local/
манасоуза
14

Я использовал apt-get для установки python3.7 в ubuntu18.04. Установки следующие.

  1. установить python3.7
sudo apt-get install python3.7 
  1. установить pip3. Следует отметить, что это может установить pip3 для python3.6.
sudo apt-get install python3-pip 
  1. измените значение по умолчанию python3 для python3.7. Вот где волшебство, которое заставит pip3 ссылаться на python3.7.
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

Надеюсь, это сработает для вас.

Кеален
источник
8

Чтобы установить все поддерживаемые в настоящее время версии python (python 3.6 уже предустановлен), включая pip для Ubuntu 18.04, выполните следующие действия:

Чтобы установить python3.5 и python3.7, используйте ppa deadsnakes:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.5
sudo apt-get install python3.7

Установите python2.7 через дистрибутивы:

sudo apt install python-minimal  # on Ubuntu 18.04 python-minimal maps to python2.7

Чтобы установить pip, используйте:

sudo apt install python-pip  # on Ubuntu 18.04 this refers to pip for python2.7
sudo apt install python3-pip  # on Ubuntu 18.04 this refers to pip for python3.6
python3.5 -m pip install pip # this will install pip only for the current user
python3.7 -m pip install pip

Я использовал его для настройки CI-цепочки для проекта Python с tox и Jenkins.

С. Бруннер
источник
6

Объединив ответы от @mpenkon и @dangel, у меня сработало вот что:

  1. sudo apt install python3-pip

  2. python3.7 -m pip install pip

Шаг № 1 требуется (при условии, что у вас еще нет pip для python3), чтобы шаг № 2 работал. Очевидно, он использует pip для Python3.6 для установки pip для Python 3.7.

боб
источник
1
Одна проблема здесь в том, что sudo apt install python3-pipне гарантирует установку python3.7, но и других версий
python3
Это правда, но как ни странно, почему это, кажется, работает (я думаю; совсем не гуру Linux). Похоже, что нужен какой-то подход начальной загрузки, поскольку вы не можете использовать программное обеспечение, которое вам не нужно устанавливать, которого нет. В любом случае у меня это сработало. Сталкивались ли вы с проблемами при таком подходе?
Боб
В том смысле, что он не установил python 3.7, да. Определенно лучший подход - использовать sudo apt install python3.7Ubuntu 18.04.
манасуза
3

Когда я использую apt install python3-pip, мне нужно установить много пакетов, но они мне не нужны. Итак, мне нравится это:

apt update
apt-get install python3-setuptools
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
rm -f get-pip.py
JJP
источник
3

Можно использовать следующие шаги:


sudo apt-get -y update
---------
sudo apt-get install python3.7
--------------
 python3.7
-------------
 curl -O https://bootstrap.pypa.io/get-pip.py
-----------------
sudo apt install python3-pip
-----------------
sudo apt install python3.7-venv
-----------------
 python3.7 -m venv /home/ubuntu/app
-------------
 cd app   
----------------
 source bin/activate
Анил Кондуру
источник
sudo apt-get update sudo apt-get -y update sudo apt-get install python3.7 python3.7 curl -O bootstrap.pypa.io/get-pip.py sudo apt install python3-pip sudo apt install python3.7- venv python3.7 -m venv / home / ubuntu / app cd app ---- source bin / activate
Анил Кондуру
1

Для тех, кто намерен использовать venv:

Если у вас еще нет pipPython 3:

sudo apt install python3-pip

Установить venvпакет:

sudo apt install python3.7-venv

Создайте виртуальную среду (которая будет загружаться pipпо умолчанию):

python3.7 -m venv /path/to/new/virtual/environment

Чтобы активировать виртуальную среду, sourceсоответствующий скрипт для текущей оболочки из binкаталога виртуальной среды. Соответствующие сценарии для разных оболочек:

Баш / ЗШ - activate

рыба - activate.fish

csh / tcsh - activate.csh

Например, при использовании bash:

source /path/to/new/virtual/environment/bin/activate

По желанию, для обновления pipвиртуальной среды (пока она активирована):

pip install --upgrade pip

Если вы хотите деактивировать виртуальную среду:

deactivate 
Джеймс Т
источник
1

Я установил pip3с помощью

python3.7 -m pip install pip

Но при использовании pip3для установки других зависимостей он использовал python3.6.
Вы можете проверить, набравpip3 --version

Следовательно, я использовал pip3это (указано в одном из ответов выше):

python3.7 -m pip install <module>

или используйте это так:

python3.7 -m pip install -r requirements.txt

Я сделал псевдоним bash для дальнейшего использования в файле ~ / .bashrc как alias pip3='python3.7 -m pip'. Если вы используете псевдоним, не забудьте его source ~/.bashrcпосле внесения изменений и сохранения.

Сунил Кумар Сингх
источник
0

Установите предварительные требования для Python

sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

Установите python 3.7 (из репозитория ppa)

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.7

Установите pip3.7

sudo apt install python3-pip
python3.7 -m pip install pip

Создавайте альтернативы python и pip

sudo update-alternatives --install /usr/local/bin/python python /usr/bin/python3.7 10
sudo update-alternatives --install /usr/local/bin/pip pip /home/your_username/.local/bin/pip3.7 10

Вносить изменения

source ~/.bashrc
python --version
pip --version
Марвин Коррейя
источник
0

Как насчет просто

add-apt-repository ppa:deadsnakes/ppa
apt-get update
apt-get install python3.7-dev
alias pip3.7="python3.7 -m pip"

Теперь у вас есть команда

pip3.7

отдельно от pip3.

Эль-Сампса
источник
-3

pip3нет pip. Вы можете создать псевдоним, как вы это делали, python3если хотите.

Патрик Конвелл
источник
Та же проблема. /usr/local/bin/python3.7: no module named pip3
ZeCarioca
в вашем терминале введите $ which pipи $ which pip3посмотрите, что они оба говорят.
Патрик
/usr/bin/pipи/usr/bin/pip3
ZeCarioca
Хорошо, что именно вы вводите в терминал, чтобы увидеть ошибку no module named pip3или что-то еще?
Патрик Конуэлл,
python3.7 -m pip3 install psycopg2. Если я просто использую, pip3 install psycopg2он загружает модуль, но я все еще не могу импортировать его в Python 3.7.
ZeCarioca