Problema semelhante ao #5356, mas com uma versão diferente do Ubuntu. A solução proposta em #5356 não resolve o problema com esta versão do Ubuntu
Depois de instalar o Python 3.6 do repositório jonathonf em uma versão limpa do Ubuntu, encontrei o seguinte erro ao tentar instalar o Pip
Observe que tentar instalar o Pip com a versão do Python que vem por padrão (3.5.2 ) não causa nenhum problema.
python3.6 get-pip.py
A mensagem de erro:
Traceback (most recent call last):
File "get-pip.py", line 20649, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/index.py", line 25, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/download.py", line 35, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/locations.py", line 10, in <module>
ImportError: cannot import name 'sysconfig'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "get-pip.py", line 20649, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/index.py", line 25, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/download.py", line 35, in <module>
File "/tmp/tmpodo51doi/pip.zip/pip/_internal/locations.py", line 10, in <module>
ImportError: cannot import name 'sysconfig'
sudo apt-get install zlib1g-dev
(necessário para compilar Python)sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
(necessário para Pip fazer solicitações SSL)./configure
make
make install
Se você quiser ler a descrição do meu problema, verá que eu já olhei para esse. A solução proposta não se aplica a esta versão do Ubuntu.
Não há necessidade de ser rude. Mas para mim compilar python no seu não é uma solução.
Esse erro de importação é a causa. Vou tentar reproduzir mais tarde.
@jonbesga Obrigado pela solução alternativa, também enfrentando esse problema com as mesmas versões exatas do python 3.6 e do Ubuntu ...
@Tarliton Concordo que não é uma solução. Vou renomeá-lo como uma solução alternativa.
Em relação à grosseria, desculpe por isso, mas me dizer para ver o problema ao qual já mencionei no meu problema denota que você postou o comentário sem ler meu problema em primeiro lugar.
@jonbesga foi mal, mas eu deveria ter dito para tentar executar os comandos que o outro problema mencionado.
Como:
python -c "from distutils import sysconfig"
Acabei de fazer isso em uma VM com o Ubuntu 16.04.2 e não tive nenhum problema. E pip instalado.
Vou tentar mais tarde com 16.04.4.
Posso confirmar que em 16.04.4,
python3.6 -c "from distutils import sysconfig"
Produz o seguinte erro:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name 'sysconfig'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name 'sysconfig'
Tentei instalar o Python 3.6 de ppa:deadsnakes/ppa
em vez de ppa:jonathonf/python-3.6
e está instalando o Pip corretamente. Parece que a versão de jonathonf está quebrada de alguma forma.
Edit: Acabei de notar que alguns comentários na resposta do Stack Overflow abordam esse problema com o repositório jonathonf
Posso confirmar que remover ppa:jonathonf/python-3.6
e adicionar ppa:deadsnakes/ppa
e reinstalar python3.6
corrige esse problema no Linux Mint 18.3.
Informações sobre como remover o PPA atual: https://askubuntu.com/a/173209/823909
Adicionando novo PPA Python3.6: https://askubuntu.com/questions/865554/how-do-i-install-python-3-6-using-apt-get
@tomrunia , sugiro que você altere o link para https://askubuntu.com/a/310 , pois seu link atual não está apontando para a melhor resposta.
Também vi um erro semelhante.
$ sudo python3.6 get-pip.py
Traceback (most recent call last):
File "get-pip.py", line 20061, in <module>
main()
File "get-pip.py", line 194, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip
File "/tmp/tmpxvd4x9zn/pip.zip/pip/__init__.py", line 26, in <module>
File "/tmp/tmpxvd4x9zn/pip.zip/pip/utils/__init__.py", line 23, in <module>
File "/tmp/tmpxvd4x9zn/pip.zip/pip/locations.py", line 9, in <module>
ImportError: cannot import name 'sysconfig'
No entanto, instalando python3-distutils
foi possível evitar este erro.
sudo apt-get install python3-distutils
@wakiyamap Parece uma solução que funciona para # 5356 com o Ubuntu 18.04 LTS. No entanto, no Ubuntu 16.04.4 LTS esse pacote foi renomeado e não resolve o problema.
@jonbesga eu usei essa versão.
Ubuntu Xenial (16.04 LTS) (GNU/Linux 4.4.94-mainline-rev1 aarch64 )
ppa:jonathonf/python-3.6
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
CPU é diferente, então pode não estar relacionado a este caso.
Desculpe.
Eu tive um problema semelhante no Ubuntu 16.04 (especificamente "de distutils import dist, sysconfig
ImportError: cannot import name 'dist'") e "sudo apt-get install python3-distutils" resolveu. Obrigado!
@RandyRomero @wakiyamap obrigado, apt install python3-distutils
funciona para mim também.
@jonbesga Estou em 16.04.4 LTS e funcionou. EDIT - estou usando vagrant, fiz "vagrant box update" há pouco, estou em 20180504)
Geralmente, não é um problema relacionado ao pip, se você me perguntar, tem mais a ver com o empacotamento do Ubuntu
@wakiyamap Obrigado, sua solução apt install python3-distutils
funcionou para mim também.
Acabei de atualizar para o Python 3.6.5 no Ubuntu 16.04.4 e as importações para matplotlib e chamadas para pip falharam com o mesmo erro.
Essa correção precisa ser amplamente divulgada.
Este tópico foi bloqueado automaticamente, pois não houve nenhuma atividade recente depois que ele foi fechado. Por favor, abra um novo problema para bugs relacionados.
Comentários muito úteis
Também vi um erro semelhante.
No entanto, instalando
python3-distutils
foi possível evitar este erro.sudo apt-get install python3-distutils