Como instalar o pip para python 3.7 no Ubuntu 18?

94

EDIT 18/02: Como ainda não tenho uma solução, estou atualizando com o que conheço até agora.

Instalei o python 3.7 com sucesso. Posso instalar módulos usando pip (ou pip3), mas esses módulos são instalados no Python 3.6 (vem com o ubuntu). Portanto, não posso importar esses módulos em python 3.7 (obter um módulo não encontrado) Python 3.7 não reconhece pip / pip3, então não posso instalar por meio de pip / pip3. Preciso do python 3.7

-

Instalei o Python 3.7 em minha máquina Ubuntu 18.04. Seguir estas instruções caso seja relevante:

Baixe: Python 3.7 do site Python [1], no Desktop e descompacte manualmente, no Desktop Instalação: Abra o Terminal (ctrl + shift + T)

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

Tornando o Python 3.7 Python padrão:

$ 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

A partir daqui: https://www.quora.com/How-can-I-upgrade-Python-3-6-to-3-7-in-Ubuntu-18-04

Baixei vários módulos, pip install modulemas quando tento importá-los, recebo umModuleNotFoundError: No module names 'xx'

Então eu fiz algumas pesquisas e aparentemente quando usei o pip para instalar, ele foi instalado nos módulos da versão anterior do Python. Em algum lugar (provavelmente uma pergunta no SO) eu encontrei uma sugestão para instalar o módulo usando, python3.7 -m pip install modulemas aí eu recebo /usr/local/bin/python3.7: no module named pip.

Agora estou preso, o pip está instalado, mas aparentemente não para o Python 3.7. Estou presumindo que, se conseguir instalar o pip para Python 3.7, poderei executar o comando pip install e obter os módulos de que preciso. Se for esse o caso, como posso instalar o pip para python 3.7, uma vez que já está instalado?

ZeCarioca
fonte

Respostas:

121

Em geral, não faça isso :

pip install package

porque, como você notou corretamente, não está claro para qual versão do Python você está instalando package.

Em vez disso, se você deseja instalar packagepara Python 3.7, faça o seguinte :

python3.7 -m pip install package

Substitua packagepelo nome do que você está tentando instalar.

Levei um tempo surpreendentemente longo para descobrir isso também. Os documentos sobre isso estão aqui .

Sua outra opção é configurar um ambiente virtual . Uma vez que seu ambiente virtual está ativo, os nomes dos executáveis ​​gostam pythone pipapontam para os corretos.

Mpenkov
fonte
47
Já tentei, resultado: /usr/local/bin/python3.7: no module named pip[Mesmo para pip3]
ZeCarioca
9
Parece que falta o pip na instalação do Python 3.7. Você poderia tentar instalá-lo usando: python3.7 -m ensurepip. Além disso, percebi que você instalou a partir da fonte. Se as opções acima não funcionarem para você, talvez tente instalar via apt apt install python3.7:? O pacote apt vem com o módulo pip instalado.
mpenkov de
6
Eu tentei python3.7 -m ensurepip, ele instalou, mas quando eu usei, encontrei python3.7 -m pip install packageum monte de erros. Como eu estava em uma VM, voltei antes de instalar o python 3.7 e tentei apt install python3.7e então python3.7 -m pip install package. Agora tudo está funcionando bem. Obrigado!
ZeCarioca de
1
por favor, corrija sua resposta. falhou. mas python3.7 -m pip install pipfunciona bem
Nwawel A Iroume
2
Você deve substituir "pacote" pelo nome do pacote que está tentando instalar.
mpenkov
107

Um rápido add-on para a resposta de mpenkov acima (não queria que isso se perdesse nos comentários)

Para mim, eu tive que instalar o pip para 3.6 primeiro

sudo apt install python3-pip

agora você pode instalar o python 3.7

sudo apt install python3.7

e então eu poderia instalar o pip para 3.7

python3.7 -m pip install pip

e como bônus, para instalar outros módulos, basta iniciar

python3.7 -m pip install <module>

EDIT 1 (12/2019):

Eu sei que isso é óbvio para a maioria. mas se você quiser python 3.8, apenas substitua python3.8no lugar depython3.7

EDIT 2 (5/2020):

Para aqueles que podem fazer o upgrade, o Python 3.8 está disponível fora da caixa para o Ubuntu 20.04, lançado há algumas semanas.

dangel
fonte
3
Ty! Ligar também pip3.7parece funcionar após a conclusão das etapas.
toster-cx
Por que isso está acontecendo, alguém pode esclarecer esse estranho comportamento?
Adrian Forsius
1
Isso também vai precisar export PATH=$HOME/.local/bin:$PATHcausa python3.7 -m pip install pipputs pip em$HOME/.local/
manasouza
14

Usei o apt-get para instalar o python3.7 no ubuntu18.04. As instalações são as seguintes.

  1. instale o python3.7
sudo apt-get install python3.7 
  1. instale pip3. Deve-se observar que isso pode instalar pip3 para python3.6.
sudo apt-get install python3-pip 
  1. mude o padrão de python3 para python3.7. É aqui que está a mágica, que fará com que o pip3 se refira a python3.7.
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

Espero que funcione para você.

Kealen
fonte
8

Para instalar todas as versões de Python suportadas atualmente (python 3.6 já está pré-instalado), incluindo pip para Ubuntu 18.04, faça o seguinte:

Para instalar o python3.5 e o python3.7, use o 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

Instale o python2.7 por meio de pacotes de distribuição:

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

Para instalar o pip use:

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

Usei-o para configurar uma cadeia CI para um projeto Python com tox e Jenkins.

S. Brunner
fonte
6

Combinando as respostas de @mpenkon e @dangel, isto funcionou para mim:

  1. sudo apt install python3-pip

  2. python3.7 -m pip install pip

A etapa 1 é necessária (supondo que você ainda não tenha pip para python3) para que a etapa 2 funcione. Ele usa pip para Python3.6 para instalar o pip para Python 3.7 aparentemente.

prumo
fonte
1
Um problema aqui é que sudo apt install python3-pipnão garante a instalação do python3.7, mas também de outras versões do
python3
Isso é verdade, mas estranhamente por que parece funcionar (eu acho; de forma alguma um guru do Linux). Parece que algum tipo de abordagem de bootstrap é necessário, já que você não pode usar um software que não precisa instalar um software que não possui. Em qualquer caso, funcionou para mim. Você teve problemas ao seguir essa abordagem?
bob
Da maneira que não instalou o python 3.7, sim. Definitivamente, a melhor abordagem é usar o sudo apt install python3.7Ubuntu 18.04.
manasouza
3

Quando eu uso apt install python3-pip, recebo muitos pacotes que precisam ser instalados, mas não preciso deles. Então, eu gosto disso:

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
fonte
3

As seguintes etapas podem ser usadas:


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

Para quem pretende usar venv :

Se você ainda não o fez pippara Python 3:

sudo apt install python3-pip

venvPacote de instalação :

sudo apt install python3.7-venv

Crie um ambiente virtual (que será inicializado pippor padrão):

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

Para ativar o ambiente virtual, sourceo script apropriado para o shell atual, a partir do bindiretório do ambiente virtual. Os scripts apropriados para os diferentes shells são:

bash / zsh - activate

peixe - activate.fish

csh / tcsh - activate.csh

Por exemplo, se estiver usando o bash:

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

Opcionalmente, para atualizar pippara o ambiente virtual (enquanto estiver ativado):

pip install --upgrade pip

Quando você deseja desativar o ambiente virtual:

deactivate 
James T
fonte
1

Eu instalei pip3usando

python3.7 -m pip install pip

Mas ao usar pip3para instalar outras dependências, ele estava usando o python3.6.
Você pode verificar o digitandopip3 --version

Portanto, usei pip3assim (declarado em uma das respostas acima):

python3.7 -m pip install <module>

ou use-o assim:

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

Fiz um alias bash para uso posterior no arquivo ~ / .bashrc como alias pip3='python3.7 -m pip'. Se você usar um alias, não se esqueça de source ~/.bashrcdepois de fazer as alterações e salvá-lo.

Sunil Kumar Singh
fonte
0

Instale os pré-requisitos do Python

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

Instale o python 3.7 (do repositório ppa)

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

Instale pip3.7

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

Crie alternativas de python e 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

Faça mudanças

source ~/.bashrc
python --version
pip --version
Marvin Correia
fonte
0

Que tal simplesmente

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

Agora você tem o comando

pip3.7

separadamente do pip3.

El Sampsa
fonte
-3

pip3não pip. Você pode criar um alias como fez com, python3se desejar.

Patrick Conwell
fonte
O mesmo problema. /usr/local/bin/python3.7: no module named pip3
ZeCarioca de
em seu terminal, digite $ which pip e $ which pip3e veja o que ambos dizem.
Patrick Conwell
/usr/bin/pipe/usr/bin/pip3
ZeCarioca
Ok, o que exatamente você está digitando no terminal para ver o erro no module named pip3 ou algo assim?
Patrick Conwell
python3.7 -m pip3 install psycopg2. Se eu apenas usá- pip3 install psycopg2lo, faço o download do módulo, mas ainda não consigo importá-lo no Python 3.7.
ZeCarioca