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


93

EDIT 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. Десь (ймовірно, питання на ТО) я знайшов пропозицію встановити модуль за допомогою, 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, оскільки він уже встановлений?

Відповіді:


119

Команда, яку ви шукаєте:

python3.7 -m pip install pip

На це мені напрочуд довгий час теж було зрозуміло. Документи про це тут .


46
Вже спробували, вихід: /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
Ви повинні замінити "пакет" на ім'я пакета, який ви намагаєтесь встановити.
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>

EDIT 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/
manasouza,


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, використовуйте deadsnakes ppa:

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 для проекту пітона з токсиком та Дженкінсом.


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.7урахуванням Ubuntu 18.04.
manasouza

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

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
Anil Konduru

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каталогу віртуального середовища. Відповідними сценаріями для різних оболонок є:

bash / zsh - 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.