Pip yükseltildikten sonraki hata: 'main' adı alınamıyor


467

Ne zaman pip kullanarak herhangi bir paket yüklemeye çalışıyorum, bu alma hatası alıyorum:

guru@guru-notebook:~$ pip3 install numpy
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'


guru@guru-notebook:~$ cat `which pip3`
#!/usr/bin/python3
# GENERATED BY DEBIAN

import sys

# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())

Daha önce iyi çalışıyordu, neden bu hatayı attığından emin değilim. Bu hatayı araştırdım, ancak düzeltmek için hiçbir şey bulamıyorum.

Daha fazla ayrıntıya ihtiyacınız varsa lütfen bana bildirin, sorumu güncelleyeceğim.


1
Bu bağlantıda ek tartışma .
Diagon

7
pip install --upgrade pipYönetici ayrıcalıklarına sahip olmadığım bir sunucuda pip yükseltmek için kullandığım aynı sorunu vardı . İle pip kaldırma python -m pip uninstall pipbenim sorunum çözüldü.
Foad

Cevaplar bana yardımcı olmadı. Bu benim sorunumdu
Étienne

Yanıtlar:


846

Yanlışlıkla sistem pipinizi yükseltmiş olmalısınız (muhtemelen böyle bir şey aracılığıyla sudo pip install pip --upgrade)

pip 10.x, iç kısımlarının bulunduğu yeri ayarlar. pip3Sen gören paket sağlayıcı tarafından sağlanan biridir (muhtemelen? Burada esas Debian) ve komut pip tarafından yönetilen bir dosya değildir.

Bununla ilgili daha fazla bilgiyi pip'in sorun izleyicisinden okuyabilirsiniz

Muhtemelen isteyeceksiniz değil sistem pip yükseltmek ve bunun yerine bir VIRTUALENV kullanın.

pip3İkili kurtarmak için gerekir sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall.

"Desteklenmeyen bölgede" (sistem paket yöneticisinin dışında bir sistem paketini yükseltme) devam etmek istiyorsanız, python3 -m pip ...bunun yerine büyük olasılıkla kurtulabilirsiniz pip3.


28
sudo apt install python3-pip --reinstallsorunu çözmedim, ancak paketi kullanarak yükleyebilirim python3 -m pip. Yardımın için teşekkürler. Kabul edildi olarak işaretliyorum.
g_p

2
@g_p "fixup" yönlerini güncelledi - sadece bunları docker'da doğruladı (Bunu ilk kez yapmalıydım!)
Anthony Sottile

6
'Sudo pip uninstall pip' orijinal soruya benzer bir hata verdi olarak 'python -m pip uninstall pip' komutunu kullanmam lazım
Mz A

41
Teşekkürler! Bu yardımcı oldu! sudo python -m pip uninstall pip && sudo apt install python-pip --reinstallPython2 için kullanın !
Barmaley

1
Windows'ta Ubuntu için çalışır. Çözüm, @Barmaley'in python2 (varsayılan python yorumlayıcısı) için önerdiği şeydir.
jdhao

111

Pip dosyasını değiştirerek hatayı giderebiliriz.

Dosyanın konumunu kontrol edin:

$ which pip

yol -> / usr / bin / pip

Bu konuma gidin ( / usr / bin / pip ) ve terminali açın

Giriş: $ sudo nano pip

Görebilirsin:

import sys
from pip import main
if __name__ == '__main__':
     sys.exit(main())

Değişmek:

import sys
from pip import __main__
if __name__ == '__main__':
     sys.exit(__main__._main())

sonra ctrl + o değişiklikleri yazın ve çıkın

Umarım bunu yapar !!


1
Bu değişiklikleri yapmak sorunu çözmedi, ancak orijinal metne geri döndürmek sorunu çözmedi. ¯_ (ツ) _ / ¯
David

2
Bunu denedim, ama varAttributeError: module 'pip.__main__' has no attribute 'main'
dnnagy

4
_Main

2
en son sürümde pip3, konumuna main()taşınır pip._internal. İthalat beyanı şu şekilde değiştirilmelidirfrom pip._internal import main
Yossarian42

2
Bir cazibe gibi çalıştı! Thanks
mahesh nanayakkara

69

Ubuntu ailesi, Debian, Linux Mint kullanıcıları için

Anthony'nin yukarıdaki açıklaması sayesinde , orijinal sistem pipinizi (/ usr / bin / ve dist-paketleri / içinde) koruyabilir ve çakışmayı çözmek için elle kurulan pip'i (~ / .local /) kaldırabilirsiniz:

$ python3 -m pip uninstall pip

Ubuntu / Debian pip v8.1.1 (16.04) python3-pipDebian paketi (bkz $ pip3 -V) son pip v10.0.1 aynı arama sonuçları gösterir ve sadece iyi PyPI son modüllerini yükler. İşe yarayan bir sahiptir pip(zaten $ PATH) komutu, ayrıca güzel --userbaktığımızda 2016 yılından bu yana yamalı-varsayılan olarak seçeneğini pip sürüm notları , yeni sürümleri, kullanım-vaka özgü hata düzeltmeleri ve bazı yeni özellikler hakkında çoğunlukla yani değil herkes henüz pip yükseltme acele etmek zorunda. Ve yeni pip 10 yine de Python virtualenvs'e yerleştirilebilir.

Ancak piplere bakılmaksızın, işletim sisteminiz, pip gerektirmeden APT ile ortak Python modüllerini (numpy dahil) hızlı bir şekilde kurmanıza izin verir, örneğin:
$ sudo apt install python3-numpy python3-scipy(sistem bağımlılıkları ile)
$ sudo apt install python3-pip(Debian yamalı pip, biraz daha eski ama önemli değil)

Hızlı uygun sözdizimi hatırlatıcısı (lütfen man aptayrıntılar için bkz .):
$ sudo apt update(Ubuntu paket dizin dosyalarını güncel kaynaklardan yeniden senkronize etmek için)
$ apt search <python-package-name> (mevcut tüm paketlerde tam metin araması)
$ apt show <python-package-name>(ayrıntılı paket açıklamasını görüntüler)
$ sudo apt install <python-package-name>

Ön ekli paket adları python-Python 2 içindir; ve ön python3-ekiyle Python 3 içindir (örneğin python3-pandalar). Binlercesi var ve Debian ve Ubuntu'da entegrasyon testine tabi tutuluyorlar. Kullanıcı başına ( pip install --useristeğe bağlı) veya virtualenv / venv içine kurulum yapmaya çalışmadığınız sürece, apt ihtiyacınız olan şey olabilir. Gibi bu sistem paketleri, çok sanal ENVS erişilebilir Virtualenv incelikle ENV modüllerin kopyalarını verdik yoksa ithalat sistem kütüphanelerini kullanmaya geri düşecek. Kullanıcı tarafından özel olarak yüklenen (pip'li --user) modülleriniz de ~/.local/libbunları geçersiz kılar.

Bu, sistem çapında bir kurulum olduğundan, bunları nadiren kaldırmanız gerekir (işletim sistemi bağımlılıkları konusunda dikkatli olmanız gerekir). Bu, APT gerekli tüm sistem kütüphanelerini ve C uzantılarını takip edip sağlayacağından, pip ile böyle bir garantiniz olmadığından , birçok sistem bağımlılığına sahip paketler için (scipy veya matplotlib gibi) uygundur .

Aslında, sistem genelindeki Python paketleri için (kullanıcı başına, giriş düzeyi veya daha düşük seviyenin aksine), Ubuntu, işletim sisteminin bozulmasını önlemek için APT paket yöneticisini (yerine ) kullanmayı beklersudo pip : APT'nin işletim sistemini depoladığı dizini sudo pip3hedefler /usr/lib/python3/dist-packagesduyarlı modüller. Son Debian / Ubuntu sürümleri büyük ölçüde Python 3'e bağlıdır, bu nedenle önceden yüklenmiş modülleri tarafından yönetilir aptve değiştirilmemelidir.

Bu nedenle pip3 install, komut kullanıyorsanız, lütfen virtualenv ( sudo apt install python3-virtualenv) veya Python3 yerleşik ( ) gibi yalıtılmış bir sanal geliştirme ortamında -m venvveya kullanıcı başına düzeyde ( --userpip seçeneği, varsayılan Ubuntu tarafından sağlanan ) çalıştığından emin olun. pip 2016'dan beri), ancak sistem çapında değil (asla sudo pip3!), çünkü pip APT paket yöneticisinin çalışmasına müdahale eder ve sistem tarafından kullanılan bir python modülü beklenmedik şekilde değiştirildiğinde Ubuntu OS bileşenlerini etkileyebilir . İyi şanslar!


P. S. Yukarıdakilerin hepsi 'ideal' çözüm içindir (Debian / Ubuntu yolu).

Eğer varsa yine münhasıran yeni PIP3 v10 kullanmak istiyorum, 3 hızlı çözüm yolu vardır:

  • yeni bir bash oturumu açmanız (yeni bir terminal sekmesi veya türü bash) - ve pip3 v10 kullanılabilir hale gelir (bkz. pip3 -V). debian'ın pip3 v8'i kurulu olarak kalır ancak arızalıdır; veya
  • $ hash -d pip3 && pip3 -V $ PATH içinde pip3 yol adını yenileme komutu . debian'ın pip3 v8'i kurulu olarak kalır ancak arızalıdır; veya
  • $ sudo apt remove python3-pip && hash -d pip3debian'ın pip3 v8'ini yeni pip3 v10'unuz lehine tamamen kaldırma komutu .

Not:--user Sanal ortamda bulunmadığınız sürece, debian tarafından sağlanan herhangi bir pip'e her zaman bayrak eklemeniz gerekir ! ( ~/.local/2016'dan beri debian / ubuntu tarafından sağlanan python3-pip ve python-pip'de python paketlerini kullanır ). Virtual 10 dışında sistem genelinde pip 10 kullanımınız Ubuntu / Debian tarafından gerçekten desteklenmemektedir. Asla sudo pip3!

Diğer ayrıntılar:
https://github.com/pypa/pip/issues/5221#issuecomment-382069604
https://github.com/pypa/pip/issues/5240#issuecomment-381673100


Yükseltilmiş sürümünü yükleyerek neden anlamama yardımcı olabilir pip lokal ile --useryani olmaksızın sudo, yüklü apt çalıştırmak için yeteneğini etkiler pip? İkisinin birlikte var olacağını düşündüm. Ama bu özetin gösterdiği gibi, apt benden sonra bir kırıldı python3 -m pip install --user --upgrade pip. Bir çözüm aramıyorum - burada neler olduğunu gerçekten merak ediyorum.
George Hawkins

1
@George Pip kitaplıkları ve bunları içe akan sarmalayıcıları arasındaki uyumsuzluk nedeniyle olur. Sistem pip komutunu hemen çalıştırmayı denemek ( çözümlerden herhangi birini uygulamadan ), hala işletim sistemini çalıştırmak için ayarlanmış olan $ PATH OS sistemine göre ( ) /usr/bin/pip3olarak yüklenmiş olandan ziyade pip wrapper betiğinin apt yüklü sistem sürümünü çağırır . sarıcı sistem versiyonu, ama kütüphaneleri değil ..--user~/.local/bin/pip*
Alex C.

2
@George Bunun nedeni ~/.local/lib/python3.?/site-packages/pip, göreli Python ithalatında sisteme göre öncelikli olan daha yeni bir pip paketinin yüklü olması (kullanıcı yerel sitesi genel kütüphanelere göre önceliklidir). Eski sarıcı çalışır çünkü from pip import mainziyade from pip._internalveya __main__pip paketinin yeni sürümünü karşı sınıf, özünden pip komut başarısız olur ImportError: cannot import name 'main'. Böylece her iki pip de var olabilir (diskte) ama orijinal sistemin işlevselliği bir "kırık" olacaktır ..
Alex C.

İçin +1 --user. pip install --userbunu benim için yaptı. (Hepsi Ubuntu 18.04
LTS'ye

46

sadece bir adımda çözüldü.

Ben de bu sorunla karşı karşıya kaldım, ama bu sadece uğraşmadan ve zaman kaybetmeden 1 komut ile çözülebilir ve birden fazla sistemde denedim bu sorun için en temiz çözüm. Ve bu:

Python3 için: - sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall.

Böylece, paketleri kullanarak kolayca yükleyebilirsiniz pip3. kullanımını kontrol etmek için pip3 --version.

Eski sürümler için kullanın: sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall.

Bu sayede artık paketleri kullanarak kurabilirsiniz pip. kullanımını kontrol etmek için pip --version.


31

Yerine python -m pip installkullanınpip install

Misal:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

pip(Solunum. pip3) Yürütülebilir dağıtımınız tarafından (sağlanır python-pipUbuntu 16.04 üzerinde paket) ve yer /usr/bin/pip.

Bu nedenle, pippip yükselttikçe paketin kendisi ile güncel tutulmaz ve kırılabilir.

Sadece python -m pipdoğrudan kullanıyorsanız, örneğin:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

Python yolunuzdan geçer, pip'in en son sürümünü bulur ve bu dosyayı yürütür.

Dosyanın çalıştırılabilir olmasına dayanır import, ancak bu çok standart bir arabirim türüdür ve bu nedenle hackier Debian komut dosyasından daha az kırılma olasılığı vardır.

Ardından, aşağıdaki takma adları eklemenizi öneririz .bashrc:

pip() ( python -m pip "$@" )
pip3() ( python3 -m pip "$@" )

Ubuntu 18.04 /usr/bin/pip3dosyası şunları yapar:

from pip import main

ve muhtemelen bir noktadan mainçıkarıldı pipki işler kırıldı.

Sonlandırma pip taahhüdü şu şekilde görünüyor: 95bcf8c5f6394298035a7332c441868f3b0169f4 "Tüm dahili API'leri pip 18.0'a giren pip._internal'a taşıyın .

9.0.1'den 18.0'a bir güncellemeden sonra Ubuntu 16.04'te test edildi pip3.

pyenv

Nihayetinde, ciddi Python gelişimi için sadece bu Ubuntu hatasını da çözecek olan kendi yerel Python'unuzu pyenv + virtualenv ile kurmanızı tavsiye ederim: /ubuntu/682869/how-do-- yüklemek-a-farklı-piton-sürümünü kullanan-apt-get / 1195153 # 1195153


3
5 saatlik bir aramadan sonra, bu benim için çalıştı. Bana adresinizi gönderirseniz size çiçek gönderebilirim. teşekkür ederim.
cagri

18

Pip'i yeniden yükleyerek bu sorunu çözebilirsiniz.

Pip'i yeniden yüklemek için aşağıdaki komut satırı komutlarından birini kullanın:

Python2:

python -m pip uninstall pip && sudo apt install python-pip --reinstall

Python3:

 python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall


8

Ben sudo apt ama sudo pip yok bir sistem üzerinde çalışıyorum. (Ve su erişimi yok.) Pip'in tavsiyelerini izleyerek kendimi aynı duruma soktum:

Pip 8.1.1 sürümünü kullanıyorsunuz, ancak 18.0 kullanılabilir. 'Pip install --upgrade pip' komutuyla yükseltmeyi düşünmelisiniz.

Diğer düzeltmelerin hiçbiri benim için çalışmadı, çünkü yeterli yönetici ayrıcalığım yok. Ancak, bu konuyu okumaktan bana bir kaç şey yapıştı:

  • Bunu yapmamalıydım. Tabii, pip söyledi. Yalan söyledi.
  • --User kullanımı, yalnızca kullanıcı dizinine odaklanarak birçok sorunu çözer.

Bu komut satırını, beni bulunduğum yere geri döndürmek için çalışacak şekilde buldum. 8.1.1'den farklı bir sürüm kullanıyorsanız, satırın o kısmını değiştirmek isteyeceksiniz.

python -m pip install --force-reinstall pip==8.1.1 --user

Benim için işe yarayan tek şey bu, ama mükemmel çalıştı!


7

İle kurtar python3 -m pip install --user pip==9.0.1(veya çalışan sürüm)


5

Aynı şey yeni LXC (streç) kullanarak Pixelbook'ta da oldu. Bu çözüm, benim için sabit pip3 gerektiren ince bir farkla, kabul edilene çok benziyor.

sudo python3 -m pip install --upgrade pip

Bu, sürümü çarptı ve şimdi beklendiği gibi çalışıyor.

Burada buldum ... Python.org: Pip'in güncel olduğundan emin ol



3

Yukarıdaki komutlar benim için işe yaramadı, ancak bunlar çok yardımcı oldu:

sudo apt purge python3-pip
sudo rm -rf '/usr/lib/python3/dist-packages/pip'  
sudo apt install python3-pip
cd
cd .local/lib/python3/site-packages
sudo rm -rf pip*  
cd
cd .local/lib/python3.5/site-packages
sudo rm -rf pip*  
sudo pip3 install jupyter

2

Ubuntu 18.04.1 Bionic Beaver'da, uygun ortamı elde etmek için oturumu kapatıp tekrar giriş yapmanız (yeniden başlatma gerekmez) gerekir.

$ sudo apt install python-pip

$ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip install --upgrade pip

$ pip --version
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ exit
<login>

$ pip --version
pip 18.1 from /home/test/.local/lib/python2.7/site-packages/pip (python 2.7)

1

Kullanıyorum sudo apt remove python3-pip sonra pipçalışıyor.

 ~ sudo pip install pip --upgrade
[sudo] password for sen: 
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'
  ~ sudo apt remove python3-pip   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libexpat1-dev libpython3-dev libpython3.5-dev python-pip-whl python3-dev python3-wheel
  python3.5-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  python3-pip
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 569 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 215769 files and directories currently installed.)
Removing python3-pip (8.1.1-2ubuntu0.4) ...
Processing triggers for man-db (2.7.5-1) ...
  ~ pip

Usage:   
  pip <command> [options]

1
Çünkü pipPython 2 içindir. OP pip3, pipaz önce kaldırmış olduğunuz Python 3 sürümünü kullanır . Bu ikisi ayrı ve birbirinin yerine kullanılamaz.
Neinstein

1

Python sürümü için 2.7 @Anthony çözüm değiştirerek, mükemmel çalışır python3 için piton şöyle:

sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall

1

Kullanarak hatayı düzeltmek için benim için ne işe yaradı pip3:

sudo cp -v /usr/local/bin/pip3 /usr/bin/pip3

Herşey çalışıyor:

 demon@UbuntuHP:~$ pip -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

 demon@UbuntuHP:~$ pip2 -V
 pip 10.0.1 from /home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)

 demon@UbuntuHP:~$ pip3 -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

Belki de pip'in yeni 10.0.1 sürümü / usr / bin içindeki ikili dosyayı güncellemez? (ki öyle değil)

EDIT: aynı sorun Ubuntu 18.04 oluşur. Bulduğum en iyi çözüm dan pip ikilileri sembolik bir link etmektir /home/<user/.local/biniçin /usr/local/binveya /usr/binaşağıdaki gibi (tercihinize bağlı):

ln -sv /home/<user>/.local/bin/pip /usr/local/bin/pip
ln -sv /home/<user>/.local/bin/pip2 /usr/local/bin/pip2
ln -sv /home/<user>/.local/bin/pip2.7 /usr/local/bin/pip2.7
ln -sv /home/<user>/.local/bin/pip3 /usr/local/bin/pip3
ln -sv /home/<user>/.local/bin/pip3.6 /usr/local/bin/pip3.6

NOT:<user> çalışan mevcut kullanıcı ile değiştirin

İlişkili sürümler (en son):

Sürüm 3.6:

/home/demon/.local/lib/python3.6/site-packages/pip (python 3.6)

Sürüm 2.7:

/home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)


Bu benim sorunumu çözdü. Diğer cevaplar olmadı.
Amin Husni

1
Gerçekten de doğrudan dosyaları ile karışıklık olmamalıdır /usr/bin. Ve, daha önce PATHdeğilse yanılıyorsun . /usr/local/bin/usr/bin
üçlü

Pip ikili dosyası mevcut değil /usr/local/bin. Yalnızca yeni sürümlerde /home/<user>/.local/binve / veya /home/<user>/.local/lib/python<version>/site-packages/pipyeni sürümlerde (v10.0 + ikili dosyayı güncellemez /usr/bin). Bu nedenle, ikili dosyanın bir kopyasının veya sembolik bağının ya pip içinde /usr/binya da /usr/local/bin(kullanıcı tercihine bağlı olarak) oluşturulması gerekir, böylece pip global olarak komut satırından çalıştırılabilir.
cryptoboy

Dizin pip ikili dosyaları var ve bunlara bağlanmalı / kopyalanmalıdır: demon @ Bionic18: ~ / .local / bin $ ls pip pip2 pip2.7 pip3 pip3.6 pipİkili varsayılan, sistemde yüklü olan en son sürüme
ayarlanır


0

Aynı hatayla karşılaştım, ama python -m piphala çalışıyordum, bu yüzden nükleer seçenekle düzelttim sudo python -m pip install --upgrade pip. Benim için yaptı.


0

Değer için, ben pip(değil pip2veya pip3) ile sorun vardı :

$ pip -V
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ pip2 -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip3 -V
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

Her nasılsa (nasıl hatırlayamıyorum) benim ~/.localdizin python şeyler yüklü vardı . Oradan pip dizini kaldırdıktan sonra piptekrar çalışmaya başladı.

$ rm -rf /home/precor/.local/lib/python2.7/site-packages/pip
$ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)


0

Bunu deneyebilirsiniz:

sudo ln -sf $( type -P pip ) /usr/bin/pip

3
Bu kod soruyu cevaplayabilirken, nasıl çalıştığını ve ne zaman kullanılacağını açıklayan bir bağlam eklemek daha iyi olur. Yalnızca kod yanıtları uzun vadede yararlı değildir.
Giulio Caccin

0

Sistemi pip pip39.0.1'den 19.2.3'e yükseltmek istediğimde de bu sorunla karşılaşıyorum .

Koşu sonrasında pip3 install --upgrade pip, pipsürüm 19.2.3 olur. Ancak kırık bırakılan en son sürümde main()taşındı .pip._internalpip3

Yani dosyada : ile /usr/bin/pip3değiştirin . Sorun düzeltilecek, aynı şekilde çalışacaktır . (Ubuntu 18.04 dağıtımında test edilmiştir)line 9from pip import mainfrom pip._internal import mainpython2-pip

@Vincent H.'nin cevabına göre



0

pip ve pip3 yollarını kullanarak update-alternatives

kontrol etmeniz gereken ilk şey şu anki $PATH koşunuz echo $PATHve görebileceğiniz/usr/local/bin PIP3 ve pip genellikle nerede olduğu

Sisteminizin buraya baktığı bir değişiklik var /bin/pipve /bin/pip3 bu ~/.bash_profileyüzden devam edip dosyanıza ekleyerek PATH'ı düzelteceğim

export PATH=$PATH:/usr/local/bin ve sonra kontrol ile sabit olup olmadığını which pipvewhich pip3

değilse update-alternatives, sonunda düzeltmek için kullanın

update-alternatives --install /bin/pip3 pip3 /usr/local/bin/pip3 30

ve eğer pip'i pip3'e işaret etmek istiyorsanız

update-alternatives --install /bin/pip pip /usr/local/bin/pip3 30

0

Bu benim için çalıştı!

hash -r pip # or hash -d pip

Şimdi, pip yüklü sürümü kaldırın ve aşağıdaki komutları kullanarak yeniden yükleyin.

python -m pip uninstall pip  # sudo
sudo apt install --reinstall python-pip

Pip kırılmışsa, şunu kullanın:

python -m pip install --force-reinstall pip

Umarım yardımcı olur!


-1

ana pip._internal'dan içe aktar

from pip._internal import main

Pip kodunu

sudo nano /usr/bin/pip3

Cevabı düzenleyebilir ve daha iyi belirtebilir misiniz? Dosyanın nasıl düzenleneceği çok açık değil /usr/bin/pip3...
M.Volf

-1

@Cryptoboy'un dediği gibi - hangi pip / python sürümünü yüklediğinizi kontrol edin

 demon@UbuntuHP:~$ pip -V
 demon@UbuntuHP:~$ pip2 -V
 demon@UbuntuHP:~$ pip3 -V

ve .local / lib / klasörünüzde gerekli olmayan kütüphaneleri kontrol edin.

Daha yeni Kubuntu'ya taşınırken ve ana dizinimde .local / lib / python2.7 / klasörüne sahip olduğumda ayarların yedeğini aldım. Yüklü python 3.6. Eski klasörü kaldırdım ve şimdi her şey harika çalışıyor!


-1

Debian'da önce apt'yi güncellemeniz gerekecek ....

sudo apt-get update -qq
sudo apt-get install python-pip -qq
sudo pip install pip --upgrade --quiet
sudo pip2 install virtualenv --quiet

'Sudo apt-get update -qq' ifadesini atlarsanız pipiniz bozulur ve 'ana bulunamadı' hatası görüntülenir.


-1

Bu hata bir izin olabilir. Bu nedenle, -H bayrağıyla komutu yürütmeyi test edin :

sudo -H pip3 install numpy

soru çok açık bir şekilde ImportError bir izin hatası değil diyor
Anthony Sottile

-1

Herhangi bir pip komutunun yürütülmesinden önce aşağıdaki komutu kullanın

hash -d pip

Çalışacak


1
Belki de küçümseyen yorumları kaldırmaya nasıl yardımcı olacağını açıklayabilir misiniz?
elf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.