pip: tidak ada modul bernama _internal

100

Saya mengalami masalah saat mencoba menggunakan pip dengan cara apa pun. Saya menggunakan Ubuntu 16.04.4

Saya harus mengatakan bahwa saya sudah menggunakannya, dan saya tidak pernah mengalami masalah apa pun, tetapi mulai hari ini ketika saya menggunakan perintah apa pun, saya selalu mendapatkan kesalahan yang sama (seperti contoh penggunaan pip --upgrade).

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

Saya telah mencoba melakukan sudo apt-get remove python-pipdiikuti oleh sudo apt-get install python-piptetapi tidak ada yang berubah.

Grimdrem
sumber
Pastikan itu /usr/local/lib/pythonX.X/site-packagesmendahului /usr/lib/pythonX.X/site-packagesAnda $PATH.
hoefling
Masalah yang sama di sini. Apakah Anda menemukan solusinya?
WayBehind
3
@WayBehind Saya menemukan solusi. Saya perhatikan bahwa menggunakan python -m pipsemuanya berfungsi dengan baik. Selain itu, saya menghapus file tersebut /usr/local/bin/pip, sekarang memanggil pip -Vkembali pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7). Semuanya tampak bekerja seperti yang diharapkan.
Grimdrem
Saya masih memiliki masalah yang sama, saya menggunakan pip di lingkungan conda, python 2.7 dan saya menggunakan pip install ipdb. Ada ide tentang ini?
Garvita Tiwari
1
Mengikuti langkah-langkah ditambah bendera -H:sudo -H python3.7 get-pip.py --force-reinstall
Andres Leon Rangel

Jawaban:

117

Ini berhasil untuk saya:

python -m pip install --upgrade pip

Lingkungan: OSX && Python diinstal melalui brew

sulap ulang
sumber
6
Terima kasih, ini solusi untuk saya menggunakan python3.
Furbeenator
2
ini tidak berhasil untuk saya. apa yang dilakukan @Grimdrem adalah apa yang akhirnya saya lakukan. Saya telah (di masa lalu) menginstal pip untuk semua (menggunakan sudo atau sesuatu) ... dan peningkatan saya dengan --user sehingga instalasi lain masih tergantung ... menghapusnya dari / usr / local / bin dan dari saya folder paket main python (bukan --user) melakukan triknya.
pengguna1269942
Anehnya ini telah diperbaiki di sini juga. Saya harus meningkatkan #searx ke komit terbaru.
Roland
Masuk ke ini di Ubuntu di WSL. Saya juga menggunakan pyenv, tetapi entah bagaimana meredam sistem python yang vimdigunakan. Ini menempatkan hal-hal di tempat yang mereka butuhkan. Dan sekarang taskwikiberfungsi lagi. Wah!
Daniel Black
Terima kasih, ini berfungsi untuk saya, saya menggunakan python 3.8
Onaapo
65

Jawaban dari askUbuntu berfungsi.

Untuk pip2.7, Anda dapat pada awalnya curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py, kemudian python2.7 get-pip.py --force-reinstallmenginstal ulang pip.

Masalah terpecahkan. Juga berfungsi untuk python3.

YongHao Hu
sumber
6
Ini tidak berhasil untuk saya, saya sudah mencoba ini beberapa kali
Cleve Green
1
Saya telah memperbaikinya dengan menginstal ulang python, yang sangat merepotkan sekarang karena saya tidak memiliki modul masa lalu saya
Cleve Green
Baru saja digigit oleh masalah ini, tampaknya ada sedikit cluster yang apt-get install python-piptidak berfungsi pada 16.04.4 dan Anda menggunakan installer biner blob?
Joe
1
untuk membuatnya bekerja saya harus menghapus semua pip sisi sistem saya :apt-get remove python-pip-whl
Jan
"Izin ditolak". Anda mungkin perlu menggunakan sudo. Kebanyakan distro tidak mengizinkan pengguna vanilla untuk menginstal sistem pip secara luas.
Cerin
21

Solusi ini berfungsi untuk saya:

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

atau gunakan sudo untuk izin yang lebih tinggi ( sudo python3 get-pip.py --force-reinstall).

Tentu saja, Anda juga dapat menggunakan pythonsebagai pengganti python3;)

Sumber

Abdallah Okasha
sumber
20

Lihat daftar masalah ini

sudo easy_install pip

bekerja untuk saya di bawah Mac OS

Sebab python3, boleh coba sudo easy_install-3.x piptergantung versi python 3.x. Ataupython3 -m pip install --user --upgrade pip

zangw
sumber
1
Itu Python2 lama. Pada Python3 Ubuntu setidaknya Anda juga harus menjalankan sudo easy_install-3.4 pipatau serupa.
NoBugs
Ini memperbaiki masalah saya ketika saya harus meningkatkan pip 20.2.3 ke pip 21.0 di MacOS. Terima kasih!
Alex L
12

Dalam file "/ usr / local / bin / pip" ubah from pip._internal import main menjadifrom pip import main

GauthamGAjith
sumber
10

Masalah ini mungkin karena pengguna biasa tidak memiliki hak untuk mengakses file py paket.
1. pengguna root dapat menjalankan 'daftar pip'
2. pengguna umum lainnya tidak dapat menjalankan 'daftar pip'

[~]$ pip list
Traceback (most recent call last):
  File "/usr/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named pip._internal

Periksa hak istimewa file pip py.

[root@]# ll /usr/lib/python2.7/site-packages/pip/  
合計 24  
-rw-------  1 root root   24  67 16:57 __init__.py  
-rw-------  1 root root  163  67 16:57 __init__.pyc  
-rw-------  1 root root  629  67 16:57 __main__.py  
-rw-------  1 root root  510  67 16:57 __main__.pyc  
drwx------  8 root root 4096  67 16:57 _internal  
drwx------ 18 root root 4096  67 16:57 _vendor  

solusi: login pengguna root dan jalankan

chmod -R 755 /usr/lib/python2.7 

perbaiki masalah ini.

Yi Yang Apollo
sumber
Akhirnya penjelasan logis tentang apa sebenarnya masalahnya. Menginstal ulang mungkin menyelesaikan masalah tetapi itulah alasan sebenarnya itu tidak berfungsi sejak awal.
Maxime Viargues
7

Untuk kelengkapan, saya baru saja mengalami masalah ini dengan "Ubuntu terbaru" ... v18.04 ... dan memperbaikinya dengan cara ini:

python3 -m pip install --upgrade pip

(Perhatikan bahwa itu perlu ditentukan python3karena ini mereferensikan Python 3.6.9. pythonPerintah pada sistem yang sama mereferensikan Python 2.7.17. Karena ini tampaknya merupakan instalasi seluruh sistem, ia mendapat izin ["bukan sudo" ...] kesalahan, tetapi itu tidak masalah karena itu adalah hal yang salah untuk dilakukan. Saya mengalami masalah dengan pip3.)

Mike Robinson
sumber
Saya mendapat kesalahan no such option: --upradepada perintah Anda - jadi saya menjalankan python3 -m pip install pipdan berhasil :)
Xerus
5

Saya telah melihat masalah ini ketika PYTHONPATHdiatur untuk menyertakan site-packagesdirektori built-in . Karena Python terlihat di sana secara otomatis, itu tidak perlu dan dapat dihapus.

Levi Morrison
sumber
2
Ini menyelesaikannya untuk saya, terima kasih. Saya hanya menyimpan $ PYTHONPATH di suatu tempat, lalu berlari export PYTHONPATH=""agar pip berfungsi.
ibowman
tetapi ketika mencoba echo $ PYTHONPATH, paket situs tidak disertakan.
alyssaeliyah
Saya mengalami ini saat membangun lingkungan virtual pada sistem yang menggunakan modul untuk mengelola paket perangkat lunak. Ketika saya memuat Anda mengatakan "modul memuat python / 3.5.2" dan itu menambahkan Anda PYTHONPATH. Kemudian ketika saya mengaktifkan virtual env saya, itu tidak pernah membatalkan pengaturan PYTHONPATH saya, yang berarti ia menemukan level sistem pipdan bukan yang ada di virtualenv saya.
iritable_phd_syndrom
4

Saya baru saja mengalami masalah yang sama dan dalam kasus saya, ternyata ini adalah konflik antara instalasi python di virtualenv saya dan python di seluruh situs (Ubuntu). Apa yang memecahkannya bagi saya adalah menjalankan pip dengan cara ini, untuk memaksa penggunaan instalasi python yang benar (di vortualenv saya):

python3 -m pip install PACKAGE

dari pada

pip3 install PACKAGE

Saya menyadari ini ketika saya mencoba mengikuti beberapa jawaban di sini yang menyarankan menginstal ulang pip dan output kesalahan yang saya dapatkan mengarah ke jalur pustaka python di seluruh situs yang ada meskipun saya telah mengaktifkan virtualenv saya. Pantas untuk dicoba sebelum menghapus dan menginstal ulang barang.

tospo
sumber
Seperti yang disebutkan dalam jawaban ini stackoverflow.com/a/50737296/1340995 ini adalah masalah izin. Saya menemukan bahwa menggunakan pip dengan python3 -m pipmemecahkan masalah ini juga, mungkin karena pythonmemiliki izin untuk mengeksekusi dan tidak perlu pip untuk memiliki izin + x karena itu hanya memuat file dan tidak menjalankannya.
Maxime Viargues
3

Apakah Anda menggunakan python2 atau python3? Perintah berikut mungkin berbeda!

  1. gunakan python3 -m pip --versionuntuk melihat apakah Anda telah menginstal pip.
  2. jika ya, lari python3 -m pip install --upgrade pip.
  3. jika tidak, jalankan sudo apt-get install python3-pip, dan lakukan lagi.
Dongcheng Wang
sumber
3

Ini mungkin karena konflik versi, coba jalankan ini, itu akan menghapus pip lama entah bagaimana.

sudo apt remove python pip
Tinashe Makuti
sumber
Untuk apa nilainya, ini tampaknya menjadi solusi untuk distro mirip Debian ( misalnya , Ubuntu 16.04) di mana python-pippaket itu diinstal pada tingkat distro, dan get-pip.pytelah digunakan untuk versi khusus pengguna pipyang juga ada di $PATH. Saya sudo apt-get removemenggunakan python-pippaket (2.7) dan menggunakan yang ada di ~ / .local / bin saya sebagai gantinya. Tidak ada lagi pesan kesalahan.
TheDudeAbides
3

Untuk saya

python -m pip uninstall pip

memecahkan masalah. Referensi

hariszaman
sumber
2

Saya telah memperbaiki kesalahan ini dengan menjalankan perintah berikut:

sudo apt remove python-pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Ini akan menghapus pip yang diinstal sebelumnya dan menginstalnya kembali. Terima kasih :)

Ateeb
sumber
1

Solusi berikut memecahkan masalah di mesin saya untuk python2.7 "$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py" dan kemudian "$ sudo python2.7 get-pip .py --force-reinstall "

Merwanski
sumber
1
Yang ini berfungsi untuk saya tetapi Anda harus mengubahnya ke versi python yang Anda gunakan. sudo python3 get-pip.py --force-reinstall. Bagus.
alyssaeliyah
1

Hanya untuk pengguna saat ini:

easy_install --user pip

atau

python -m pip install --upgrade --user pip

Yang kedua mungkin memberikan /usr/bin/python: No module named pip Bahkan jika which pipmenemukan modul bernama pip. Dalam hal ini cobaeasy_install

Mihai.Mehe
sumber
1

Saya menemukan kesalahan yang sama pada Windows ketika saya mencoba menginstal paket melalui pip3:

Traceback (most recent call last):
  File "d:\anaconda\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\anaconda\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Anaconda\Scripts\pip3.6.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip._internal'

Python saya diinstal melalui Anaconda. Saya menyelesaikan masalah ini dengan menginstal ulang pip melalui conda:

conda install pip

Setelah itu pip kembali normal.

jdhao
sumber
0

Tidak ada yang berhasil untuk saya, tetapi hanya satu hal: Saya menggunakan sudo di depan perintah dan berfungsi dengan baik.

GeorgesD
sumber
Kasus saya lebih aneh karena "sudo" masih memberi saya kesalahan yang sama. Saya harus beralih ke root (sudo su di ubuntu) untuk dapat melakukan daftar pip3.5 dan menginstal pip3.5: |
jmng
0

Saya memiliki masalah yang sama di lingkungan virtual saya setelah memutakhirkan instalasi python dari 3.6 menjadi 3.7 tetapi hanya pada ventilasi secara global, pip berfungsi dengan baik, untuk mengatasinya saya menonaktifkan dan menghapus lingkungan virtual saya setelah membuat ulang lagi dan sekarang baik-baik saja, di venv:

deactivate
rm -rvf venv 

dan setelah membuat ulang lingkungan virtual. Saya menggunakan mac OS 10.11, dan python 3

bayocr
sumber
0

(Di windows) tidak yakin mengapa ini terjadi tetapi saya memiliki pengaturan PYTHONPATH saya untuk mengarah ke c: \ python27 tempat python diinstal. dalam kombinasi dengan virtualenv ini menghasilkan bug yang disebutkan.

diselesaikan dengan menghapus PYTHONPATH env var secara bersamaan

Gil Hiram
sumber
0

solusi saya: langkah pertama seperti kebanyakan jawaban lainnya:

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

kedua, tambahkan soft link

sudo ln -s /usr/local/bin/pip /usr/bin/pip
John
sumber
0

Anda dapat menghapusnya terlebih dahulu, dan menginstalnya lagi, itu akan baik-baik saja. untuk centos:

yum remove python-pip
yum install python-pip
pengguna3890444
sumber
0

Saya memperbaiki masalah ini dengan

sudo apt-get install python3-pip

ini bekerja bahkan untuk python2.7, luar biasa ...

Yu Jiaao
sumber
0

Solusi saya adalah menambahkan import pipke skrip yang ditautkan kepip/pip3 perintah.

Pertama, buka file (misalnya /usr/local/bin/pip) dengan editor teks favorit Anda dan mode sudo. Misalnya, saya menggunakansudo vim /usr/local/bin/pip untuk membuka file script.

Anda akan mendapatkan beberapa file sebagai berikut:

import re
import sys

from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

Setelah itu, masukkan pernyataan import piptepat sebelum from pip._internal import mainmasalah teratasi.

N.Hung
sumber
0

Ini sering kali berasal dari penggunaan pip untuk sistem "update" yang diinstal pip, dan / atau menginstal beberapa pip di bawah pengguna. Solusi saya adalah membersihkan beberapa pip yang diinstal di bawah pengguna, menginstal ulang pip repo, lalu "pip install --user pip" seperti di atas.

Lihat: https://github.com/pypa/pip/issues/5599 untuk diskusi lengkap resmi dan perbaikan untuk masalah tersebut.

pengguna2898616
sumber
-1

Saya mencoba perintah berikut untuk menyelesaikan masalah dan itu berhasil untuk saya:

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