Pip tidak berfungsi: ImportError: Tidak ada modul bernama 'pip._internal'

63

Berjalan pipatau pip3hasil dengan:

Traceback (most recent call last):
File "/home/myuser/.local/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named 'pip._internal'

Saya punya masalah dengan ini, dan menghapus pip3, tetapi ketika saya mencoba menginstalnya lagi menggunakan

sudo apt-get -y install python3-pip

itu menginstal, tetapi kemudian menjalankan pip atau pip3 saya mendapatkan kesalahan yang sama.

#which pip3
/home/myuser/.local/bin/pip3
pengguna3087079
sumber
2
Saya memiliki masalah serupa setelah memutakhirkan dari pip 9.0.2 ke pip-10.0.0. Ubuntu 16.04LTS di sini.
Dave
2
Anda tidak harus meng-upgrade ke pip 10 pada Ubuntu, karena versi sistem diinstal melalui apt dimodifikasi dengan cara tidak kompatibel untuk pip 10. Lihat github.com/pypa/pip/issues/5221 @ Dave
Byte Komandan
macOS 10.13.4, masalah yang sama setelah naik ke pip 10
Benjamin R
1
Solusi sementara:python3 -m pip install --user <package>
Benjamin R
1
jika Anda memiliki easy_install(berasal dari python-setuptoolspaket), Anda dapat melakukannya sudo easy_install pip(atau hanya sudo easy_install3 pipuntuk python3, dll.)
Marek Sebera

Jawaban:

115

Setelah memutakhirkan pip(atau pip3, dalam hal ini) jika hal berikut terjadi:

$ ~ pip3 -V
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ModuleNotFoundError: No module named 'pip._internal'

Paksa instal ulang pip:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

Verifikasi pemasangan:

$ ~ pip3 -V
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

Sekarang pip3 install <package>dan pip3 install --user <package>(untuk pemasangan di tingkat pengguna) akan berfungsi dengan benar.

Seharusnya tidak pernah ada alasan apa pun untuk menjalankan pip dalam mode yang ditinggikan.

(catatan: Untuk Python 2.7, ganti pythonuntuk python3, dan pipuntuk pip3)

Punya masalah yang sama pada macOS juga, itu masalah umum di seluruh platform.

Benjamin R
sumber
1
bekerja dengan baik untuk raspberry juga
gtatr
1
Anda, tuan, adalah pahlawan. punya masalah pada solus ini dan itu bekerja seperti pesona.
cirrusio
1
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/bin/pip3'
endolith
1
@endolith Oke, sekarang Anda ingin menggunakan sudo rm -rf /usr/bin/pip3- bersihkan direktori yang ada terlebih dahulu, kemudian instal dari awal. Ini masalah izin pada direktori itu, tetapi lebih baik untuk mengatur ulang dalam keadaan ini saya percaya, Anda selalu dapat dengan mudah menginstal ulang paket apa pun yang Anda kehilangan lagi. Jika itu tidak berhasil, pasang juga instal Python 3 Anda, lalu reboot.
Benjamin R
1
@endolith Hai, itu tergantung pada OS Anda (dan distro, apakah Linux). Beri tahu saya dan saya akan mencoba mengarahkan Anda ke arah yang benar. ps Kita semua sudah berada di posisi Anda lebih sering daripada yang kita akui :)
Benjamin R
13

Perintah ini juga berfungsi, menginstal ulang pip:

sudo easy_install pip

Carlos Dutra
sumber
3
Itu jawaban termudah !
Serge Stroobandt
3
Bekerja seperti keajaiban di Ubuntu
user2849789
10

Saya memecahkan ini dengan memperbarui pip melalui Python, seperti ini:

python2 -m pip install --user --upgrade pip

python3 -m pip install --user --upgrade pip

Carlos Dutra
sumber
1
sederhana dan manis
lasec0203
2

Saya mendapat masalah yang sama seperti Anda barusan, saya menemukan alasannya adalah bahwa Anda bekerja tanpa hak istimewa pengguna super karena beberapa paket atau modul python internal dipasang di bawah hak istimewa pengguna super.

Jadi Anda dapat mencoba dengan memasukkan tinju sudo su, lalu memasukkan kata sandi Anda, dan menjalankannya pip install, ini mungkin bisa membantu.

Yuke
sumber
3
Anda seharusnya tidak pernah perlu menjalankan pipdengan izin tinggi. Gunakan --userbendera sebagai gantinya, seperti pada:pip3 install --user <package>
Benjamin R
1
Namun, ketika saya menjalankan tanpa izin pengguna super, saya masih mendapatkan informasi seperti Traceback (panggilan terakhir terakhir): File "/ usr / local / bin / pip3", baris 7, dalam <module> \\ dari pip._internal import main ImportError: Tidak ada modul bernama 'pip._internal' Bisakah Anda membantu saya mencari tahu mengapa ini selalu terjadi? pip3 install --user
Yuke
2
Ok, saya menemukan mengapa, jika from pip._internal import mainkesalahan terjadi, dalam solusi saya, 1) curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py2) python3 get-pip.py --user --force-reinstall, dan kemudian Anda dapat berjalan piptanpa izin pengguna super, Terima kasih banyak atas saran Anda , itu sangat membantu!
Yuke
Dengan senang hati! Begini, saya belajar cara yang sulit untuk berhati-hati dalam menggunakan sudomau tak mau (menghancurkan OS saya beberapa kali!)
Benjamin R
2

Terapkan tiga langkah ini:

  1. Pergi /usr/local/bindengan terminal
  2. Menjalankan sudo gedit pip
  3. Ubah from pip._internal import mainke from pip import main.
Sayan De
sumber
1

Periksa apakah pip sudah diinstal menggunakan

pip3 -V 

atau

pip3 --version

Jika tidak menggunakan perintah ini untuk menginstalnya:

sudo apt install python3-pip

Sekarang kamu bisa menggunakannya

python3 -m pip install packageName

untuk menginstal paket menggunakan pip.

zakharia
sumber
ini yang OP sudah dong.
Nik O'Lai
0

Versi pip sekarang adalah 19.0.1:

which pip3
#/home/xxx/.local/bin/pip3
vim /home/xxx/.local/bin/pip3

Ubah from pip._internal import mainmenjadifrom pip import main

Alan Lau
sumber