Jak zainstalować pip dla Pythona 3.7 na Ubuntu 18?


92

EDYCJA 18/02: Ponieważ nadal nie mam rozwiązania, aktualizuję to, co wiem do tej pory.

Pomyślnie zainstalowałem Pythona 3.7. Mogę zainstalować moduły za pomocą pip (lub pip3), ale te moduły są zainstalowane w Pythonie 3.6 (dostarczany z Ubuntu). Dlatego nie mogę zaimportować tych modułów w pythonie 3.7 (nie znaleziono modułu) Python 3.7 nie rozpoznaje pip / pip3, więc nie mogę zainstalować przez pip / pip3 Potrzebuję pythona 3.7

-

Zainstalowałem Python 3.7 na moim komputerze z Ubuntu 18.04. Postępuj zgodnie z tą instrukcją, jeśli jest to istotne:

Pobierz: Python 3.7 z witryny Python [1], na komputerze i ręcznie rozpakuj, na pulpicie Instalacja: Otwórz terminal (ctrl + shift + T)

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

Ustawianie Pythona 3.7 jako domyślnego Pythona:

$ 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

Stąd: https://www.quora.com/How-can-I-upgrade-Python-3-6-to-3-7-in-Ubuntu-18-04

Pobrałem kilka modułów za pośrednictwem, pip install moduleale kiedy próbuję je zaimportować, otrzymuję plikModuleNotFoundError: No module names 'xx'

Zrobiłem więc trochę badań i najwyraźniej kiedy użyłem pip do instalacji, zainstalowałem go w modułach w poprzedniej wersji Pythona. Gdzieś (pewnie pytanie w SO) znalazłem propozycję instalacji modułu za pomocą python3.7 -m pip install moduleale potem dostaję /usr/local/bin/python3.7: no module named pip.

Teraz utknąłem, pip jest zainstalowany, ale najwyraźniej nie dla Pythona 3.7. Zakładam, że jeśli mogę zainstalować pip dla Pythona 3.7, mogę uruchomić polecenie pip install i uzyskać potrzebne moduły. Jeśli tak jest, jak mogę zainstalować pip dla Pythona 3.7, skoro jest już zainstalowany?

Odpowiedzi:


119

Polecenie, którego szukasz, to:

python3.7 -m pip install pip

Zrozumienie tego również zajęło mi zaskakująco dużo czasu. Dokumenty na ten temat są tutaj .


45
Już próbowałem, wyjście: /usr/local/bin/python3.7: no module named pip[To samo dla pip3]
ZeCarioca,

8
Wygląda na to, że w instalacji Pythona 3.7 brakuje pip. Można spróbować zainstalować go za pomocą: python3.7 -m ensurepip. Zauważyłem również, że zainstalowałeś ze źródła. Jeśli powyższe opcje nie działa, to może spróbuj zainstalować poprzez apt zamiast: apt install python3.7? Pakiet apt jest dostarczany z zainstalowanym modułem pip.
mpenkov

6
Próbowałem python3.7 -m ensurepip, zainstalowałem, ale kiedy użyłem, python3.7 -m pip install packagedostałem kilka błędów. Ponieważ byłem na maszynie wirtualnej, wróciłem przed zainstalowaniem Pythona 3.7 i spróbowałem, apt install python3.7a potem python3.7 -m pip install package. Teraz wszystko działa gładko. Dzięki!
ZeCarioca

1
popraw odpowiedź. nie powiodło się. ale to python3.7 -m pip install pipdziała dobrze
Nwawel A Iroume

2
Powinieneś zastąpić „pakiet” nazwą pakietu, który próbujesz zainstalować.
mpenkov

102

Szybki dodatek do powyższej odpowiedzi mpenkova (nie chciałem, aby zgubił się w komentarzach)

U mnie musiałem najpierw zainstalować pip dla 3.6

sudo apt install python3-pip

teraz możesz zainstalować python 3.7

sudo apt install python3.7

a potem mógłbym zainstalować pip na 3.7

python3.7 -m pip install pip

i jako bonus, aby zainstalować inne moduły, wystarczy poprzedzić

python3.7 -m pip install <module>

EDYCJA 1 (12/2019):

Wiem, że dla większości jest to oczywiste. ale jeśli chcesz Pythona 3.8, wystarczy podstawić python3.8w miejscepython3.7

EDYCJA 2 (5/2020):

Dla tych, którzy są w stanie zaktualizować, Python 3.8 jest dostępny od razu po wyjęciu z pudełka dla Ubuntu 20.04, który został wydany kilka tygodni temu.


3
Ty! pip3.7Wydaje się, że dzwonienie również działa po wykonaniu tych czynności.
toster-cx

Dlaczego tak się dzieje, czy ktoś może rzucić światło na to dziwne zachowanie?
Adrian Forsius

1
To również będzie musiał export PATH=$HOME/.local/bin:$PATHprzyczyną python3.7 -m pip install pipstawia pip w$HOME/.local/
manasouza


14

Użyłem apt-get, aby zainstalować python3.7 w systemie ubuntu18.04. Instalacje są następujące.

  1. zainstaluj python3.7
sudo apt-get install python3.7 
  1. zainstaluj pip3. Należy zauważyć, że może to spowodować zainstalowanie pip3 dla python3.6.
sudo apt-get install python3-pip 
  1. zmień wartość domyślną python3 na python3.7. To jest magia, która sprawi, że pip3 będzie odnosić się do python3.7.
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

Mam nadzieję, że to działa dla Ciebie.


8

Aby zainstalować wszystkie obecnie obsługiwane wersje języka Python (Python 3.6 jest już wstępnie zainstalowany), w tym pip dla Ubuntu 18.04, wykonaj następujące czynności:

Aby zainstalować python3.5 i python3.7, użyj 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

Zainstaluj python2.7 za pośrednictwem pakietów dystrybucyjnych:

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

Aby zainstalować użyj 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

Użyłem go do skonfigurowania łańcucha CI dla projektu Pythona z tox i Jenkinsem.


6

Łącząc odpowiedzi z @mpenkon i @dangel, oto co zadziałało dla mnie:

  1. sudo apt install python3-pip

  2. python3.7 -m pip install pip

Krok # 1 jest wymagany (zakładając, że nie masz jeszcze pip dla python3), aby krok # 2 działał. Najwyraźniej używa pip dla Python3.6, aby zainstalować pip dla Pythona 3.7.


1
Problem polega na tym, sudo apt install python3-pipże nie gwarantuje to instalacji pythona3.7, ale także innych wersji
pythona3

To prawda, ale dziwnie, dlaczego wydaje się działać (myślę, że wcale nie jest guru Linuksa). Wygląda na to, że potrzebny jest jakiś rodzaj podejścia bootstrap, ponieważ nie możesz używać oprogramowania, którego nie musisz instalować, którego nie masz. W każdym razie to zadziałało dla mnie. Czy napotkałeś problemy po zastosowaniu tego podejścia?
bob

W ten sposób, że nie zainstalował Pythona 3.7, tak. Zdecydowanie najlepszym podejściem jest sudo apt install python3.7rozważenie Ubuntu 18.04.
manasouza

3

Kiedy używam apt install python3-pip, otrzymuję wiele pakietów, które wymagają instalacji, ale ich nie potrzebuję. Więc lubię to:

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

Można zastosować następujące kroki:


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 /
ivate

1

Dla tych, którzy zamierzają używać venv:

Jeśli nie masz jeszcze pipPythona 3:

sudo apt install python3-pip

Zainstaluj venvpakiet:

sudo apt install python3.7-venv

Utwórz środowisko wirtualne (które będzie pipdomyślnie uruchamiane ):

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

Aby aktywować środowisko wirtualne, sourceodpowiedni skrypt dla bieżącej powłoki, z binkatalogu środowiska wirtualnego. Odpowiednie skrypty dla różnych powłok to:

bash / zsh - activate

ryba - activate.fish

csh / tcsh - activate.csh

Na przykład, jeśli używasz basha:

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

Opcjonalnie, aby zaktualizować pipśrodowisko wirtualne (gdy jest aktywowane):

pip install --upgrade pip

Jeśli chcesz dezaktywować środowisko wirtualne:

deactivate 

1

Zainstalowałem pip3za pomocą

python3.7 -m pip install pip

Ale kiedy używał pip3do zainstalowania innych zależności, używał python3.6.
Możesz sprawdzić wpisującpip3 --version

Dlatego użyłem w pip3ten sposób (podana w jednej z powyższych odpowiedzi):

python3.7 -m pip install <module>

lub użyj tego w ten sposób:

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

Stworzyłem alias basha do późniejszego wykorzystania w pliku ~ / .bashrc jako alias pip3='python3.7 -m pip'. Jeśli używasz aliasu, nie zapomnij o source ~/.bashrcdokonaniu zmian i zapisaniu go.


0

Zainstaluj wymagania wstępne języka Python

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

Zainstaluj Python 3.7 (z repozytorium ppa)

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

Zainstaluj pip3.7

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

Utwórz alternatywy dla języków Python i 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

Wprowadzać zmiany

source ~/.bashrc
python --version
pip --version

0

A może po prostu

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

Teraz masz polecenie

pip3.7

oddzielnie od pip3.


-3

pip3nie pip. Jeśli chcesz, możesz utworzyć alias, tak jak to zrobiłeś python3.


Ten sam problem. /usr/local/bin/python3.7: no module named pip3
ZeCarioca

w terminalu, typu $ which pipi $ which pip3i zobaczyć, co oba te powiedzenia.
Patrick Conwell,

/usr/bin/pipi/usr/bin/pip3
ZeCarioca,

OK, co dokładnie wpisujesz w terminalu, aby zobaczyć błąd no module named pip3lub cokolwiek?
Patrick Conwell

python3.7 -m pip3 install psycopg2. Jeśli tylko pip3 install psycopg2go użyję, pobiera moduł, ale nadal nie mogę go zaimportować w Pythonie 3.7.
ZeCarioca,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.