Masalah serupa dengan #5356 tetapi dengan versi Ubuntu yang berbeda. Solusi yang diusulkan di #5356 tidak menyelesaikan masalah dengan versi Ubuntu ini
Setelah menginstal Python 3.6 dari repositori jonathonf dalam versi Ubuntu yang bersih, saya menemukan kesalahan berikut saat mencoba menginstal Pip
Perhatikan bahwa mencoba menginstal Pip dengan versi Python yang datang secara default (3.5.2 ) tidak menimbulkan masalah.
python3.6 get-pip.py
Pesan kesalahan:
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
(diperlukan untuk mengkompilasi Python)sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
(dibutuhkan oleh Pip untuk membuat permintaan SSL)./configure
make
make install
Jika Anda ingin membaca deskripsi masalah saya, Anda akan menemukan bahwa saya sudah melihat yang itu. Solusi yang diusulkan di sana tidak berlaku dengan versi Ubuntu ini.
Tidak perlu bersikap kasar. Tetapi bagi saya mengkompilasi python pada Anda di atasnya bukanlah solusi.
Kesalahan impor itu penyebabnya. Saya akan mencoba untuk mereproduksi nanti.
@jonbesga Terima kasih atas solusinya, juga mengalami masalah ini dengan versi python 3.6 dan ubuntu yang sama persis...
@ Tarliton saya setuju itu bukan solusi. Saya akan mengganti namanya sebagai solusi.
Mengenai kekasarannya, maaf tentang itu, tetapi memberi tahu saya untuk melihat masalah yang telah saya rujuk dalam masalah saya menunjukkan bahwa Anda memposting komentar tanpa membaca masalah saya di tempat pertama.
@jonbesga saya buruk, tetapi saya seharusnya mengatakan untuk mencoba menjalankan perintah yang disebutkan masalah lain.
Suka:
python -c "from distutils import sysconfig"
Saya baru saja melakukannya di VM dengan Ubuntu 16.04.2 dan tidak ada masalah. Dan menginstal pip.
Saya akan mencoba nanti dengan 16.04.4.
Saya dapat mengonfirmasi bahwa di 16.04.4,
python3.6 -c "from distutils import sysconfig"
Menghasilkan kesalahan berikut:
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'
Mencoba menginstal Python 3.6 dari ppa:deadsnakes/ppa
alih-alih dari ppa:jonathonf/python-3.6
dan menginstal Pip dengan benar. Sepertinya versi jonathonf rusak dalam beberapa hal.
Sunting: Perhatikan bahwa beberapa komentar di jawaban Stack Overflow mengatasi masalah ini dengan repositori jonathonf
Saya dapat mengonfirmasi bahwa menghapus ppa:jonathonf/python-3.6
dan kemudian menambahkan ppa:deadsnakes/ppa
dan menginstal ulang python3.6
memperbaiki masalah ini di Linux Mint 18.3.
Info tentang menghapus PPA saat ini: https://askubuntu.com/a/173209/823909
Menambahkan PPA Python3.6 baru: https://askubuntu.com/questions/865554/how-do-i-install-python-3-6-using-apt-get
@tomrunia Saya menyarankan Anda untuk mengubah tautan ke https://askubuntu.com/a/310 karena tautan Anda saat ini tidak mengarah ke jawaban terbaik.
Saya juga melihat kesalahan serupa.
$ 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'
Namun, dengan menginstal python3-distutils
adalah mungkin untuk menghindari kesalahan ini.
sudo apt-get install python3-distutils
@wakiyamap Sepertinya itu solusi yang berfungsi untuk #5356 dengan Ubuntu 18.04 LTS. Namun, di Ubuntu 16.04.4 LTS paket itu telah diganti namanya dan tidak menyelesaikan masalah.
@jonbesga saya menggunakan versi ini.
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 berbeda, jadi mungkin tidak terkait dengan kasus ini.
maaf.
Saya memiliki masalah serupa di Ubuntu 16.04 (khususnya "dari distutils import dist, sysconfig
ImportError: tidak dapat mengimpor nama 'dist'") dan "Sudo apt-get install python3-distutils" menyelesaikannya. Terima kasih!
@RandyRomero @wakiyamap terima kasih, apt install python3-distutils
bekerja untuk saya juga.
@jonbesga saya menggunakan 16.04.4 LTS dan berhasil. EDIT - Saya menggunakan gelandangan, melakukan "pembaruan kotak gelandangan" beberapa saat yang lalu, saya menggunakan 20180504)
Secara umum, bukan masalah terkait pip jika Anda bertanya kepada saya, ini lebih berkaitan dengan pengemasan Ubuntu
@wakiyamap Terima kasih, solusi Anda apt install python3-distutils
bekerja untuk saya juga.
Saya baru saja memutakhirkan ke Python 3.6.5 di Ubuntu 16.04.4 dan mengimpor untuk matplotlib dan panggilan ke pip semuanya gagal dengan kesalahan yang sama.
Perbaikan ini perlu disebarluaskan.
Utas ini telah dikunci secara otomatis karena tidak ada aktivitas terbaru setelah ditutup. Silakan buka edisi baru untuk bug terkait.
Komentar yang paling membantu
Saya juga melihat kesalahan serupa.
Namun, dengan menginstal
python3-distutils
adalah mungkin untuk menghindari kesalahan ini.sudo apt-get install python3-distutils