pip: _internal adlı modül yok


100

Pip'i herhangi bir şekilde kullanmaya çalıştığımda sorun yaşıyorum. Ubuntu 16.04.4 kullanıyorum

Bunu zaten kullandığımı ve hiç sorun yaşamadığımı söylemeliyim, ancak bugünden itibaren herhangi bir komutu kullandığımda her zaman aynı hatayı alıyorum (örnek olarak 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

Yaptığım denedi sudo apt-get remove python-pipizledi sudo apt-get install python-pipama hiçbir şey değişmedi.


Emin olun /usr/local/lib/pythonX.X/site-packagesöncesinde /usr/lib/pythonX.X/site-packagesGözlerinde farklı $PATH.
hoefling

Burada aynı sorun. bir çözüm buldun mu?
WayBehind

3
@WayBehind bir çözüm buldum. Her python -m pipşeyi kullanmanın gayet iyi çalıştığını fark ettim . Bunun yanında dosyayı kaldırdım /usr/local/bin/pip, şimdi pip -Vreturn diyorum pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7). Her şey beklendiği gibi çalışıyor gibi görünüyor.
Grimdrem

Hala aynı sorunu yaşıyorum, conda ortamında, python 2.7'de pip kullanıyorum ve pip install ipdb kullanıyorum. Bununla ilgili bir fikriniz var mı?
Garvita Tiwari

1
Adımları ve -H bayrağını takip etti:sudo -H python3.7 get-pip.py --force-reinstall
Andres Leon Rangel

Yanıtlar:


117

Bu benim için yaptı:

python -m pip install --upgrade pip

Çevre: OSX && Python brew aracılığıyla yüklenir


6
Teşekkür ederim, bu benim için python3 kullanarak çözümdü.
Furbeenator

2
Bu benim için işe yaramadı. @Grimdrem ne yaptı, ben de bunu yaptım. (Geçmişte) herkes için pip yükledim (sudo veya başka bir şey kullanarak) ... ve yükseltmem --user ile yapıldı, bu yüzden diğer kurulum hala ortalıkta asılı kaldı ... / usr / local / bin'den ve main python'un paket klasörü (--us'un değil) hile yaptı.
user1269942

Garip bir şekilde bu onu burada da çözdü. #Searx'i en son işleme yükseltecektim.
Roland

WSL'de Ubuntu'da bununla karşılaştım. Ben de kullanıyorum pyenv, ama bir şekilde vimkullanan sistem python'unu boğmuştum . Bu, şeyleri olması gereken yere koydu ve şimdi taskwikitekrar çalışıyor. Vay canına!
Daniel Black

Teşekkürler, bu benim için çalışıyor, python 3.8 kullanıyorum
Onaapo

65

AskUbuntu'dan bir cevap işe yarıyor.

Pip2.7 için, ilk başta olabilir curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py, o zaman python2.7 get-pip.py --force-reinstallPip yeniden.

Sorun çözüldü. Python3 için de çalışır.


6
Bu benim için çalışmıyor, bunu birkaç kez denedim
Cleve Green

1
Python'u yeniden yükleyerek düzelttim, bu artık geçmiş modüllerimden hiçbirine sahip olmadığım için mutlak bir
Cleve Green,

Bu sorun tarafından biraz ısırılan apt-get install python-pip, 16.04.4'te çalışmayan bir küme gibi görünüyor ve ikili blob yükleyicilere mi başvuruyorsunuz?
Joe

1
çalışmasını sağlamak için tüm sistem tarafındaki pip şeylerimi kaldırmam gerekiyordu:apt-get remove python-pip-whl
Ocak

"İzin reddedildi". Muhtemelen sudo kullanmanız gerekiyor. Çoğu dağıtım, vanilya kullanıcılarının geniş pip sistemi kurmasına izin vermez.
Cerin

21

Bu çözüm benim için çalışıyor:

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

veya yükseltilmiş izinler için sudo kullanın ( sudo python3 get-pip.py --force-reinstall).

Tabii ki, pythonyerine kullanabilirsiniz python3;)

Kaynak


20

Bu sorun listesine bakın

sudo easy_install pip

benim için Mac OS altında çalışıyor

Çünkü python3deneyebilir sudo easy_install-3.x pippython 3.x sürümüne bağlıdır. Veyapython3 -m pip install --user --upgrade pip


1
Bu eski Python2. Python3 Ubuntu'da en azından çalıştırmanız sudo easy_install-3.4 pipveya benzeri bir şey yapmanız gerekir .
NoBugs

Bu, pip 20.2.3'ü MacOS'ta pip 21.0'a yükseltmem gerektiğinde sorunu çözdü. Teşekkür ederim!
Alex L

12

"/ Usr / local / bin / pip" dosyasında şu şekilde değiştirin from pip._internal import main :from pip import main


10

Bu sorun, ortak kullanıcının paketler py dosyasına erişim ayrıcalığına sahip olmamasından kaynaklanıyor olabilir.
1. root kullanıcısı 'pip list' çalıştırabilir
2. diğer ortak kullanıcılar 'pip list' çalıştıramaz

[~]$ 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

Pip py dosyası ayrıcalığını kontrol edin.

[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  

çözüm: root kullanıcı girişi ve çalıştırma

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

bu sorunu düzeltin.


Son olarak sorunun gerçekte ne olduğuna dair mantıklı bir açıklama. Yeniden yüklemek sorunu çözebilir ancak ilk etapta çalışmamasının gerçek nedeni budur.
Maxime Viargues

7

Tamlık için, bu sorunla az önce "Ubuntu en son" ... v18.04 ... ile karşılaştım ve şu şekilde düzelttim:

python3 -m pip install --upgrade pip

( Bu, Python 3.6.9'a atıfta bulunduğundan bunu belirtmek gerektiğine dikkat edin python3. pythonAynı sistemdeki komut Python 2.7.17'ye başvurur. Bu, görünüşte sistem genelinde bir kurulum olduğundan, ["sudo değil" ...] izniyle karşılaştı hata, ama önemli değildi çünkü yine de yapılacak yanlış bir şeydi. Sorunla karşılaşıyordum pip3.)


no such option: --upradeKomutunuzdaki hatayı aldım - bu yüzden koştum python3 -m pip install pipve işe yaradı :)
Xerus

5

Yerleşik dizini PYTHONPATHiçerecek şekilde ayarlandığında bu sorunu gördüm site-packages. Python oraya otomatik olarak baktığı için gereksizdir ve kaldırılabilir.


2
Bu benim için çözdü, teşekkürler. $ PYTHONPATH'ı bir yere sakladım, sonra export PYTHONPATH=""pip çalışmaya başladım .
ibowman

ancak echo $ PYTHONPATH denenirken site paketleri dahil edilmedi.
alyssaeliyah

Yazılım paketlerini yönetmek için modüller kullanan bir sistemde sanal bir ortam oluştururken bununla karşılaştım. Yüklediğimde "modül yükleme python / 3.5.2" diyorsunuz ve sizin PYTHONPATH. Sonra sanal ortamımı etkinleştirdiğimde, PYTHONPATH'ımı asla bozmadı, bu da onun sanal ortamımdaki pipdeğil, sistem düzeyini bulduğu anlamına geliyordu .
irritable_phd_syndrom

4

Az önce aynı sorunla karşılaştım ve benim durumumda bunun virtualenv'imdeki python kurulumu ile site genelinde python (Ubuntu) arasında bir çelişki olduğu ortaya çıktı. Bunu benim için çözen şey, doğru python kurulumunu (vortualenv'imde) kullanmaya zorlamak için pip'i bu şekilde çalıştırmaktır:

python3 -m pip install PACKAGE

onun yerine

pip3 install PACKAGE

Bunu, pip'i yeniden yüklemeyi öneren bazı yanıtları takip etmeye çalıştığımda ve aldığım hata çıktısının, virtualenv'imi etkinleştirmiş olmama rağmen site genelinde mevcut bir python kitaplık yolunu işaret ettiğini fark ettim. Bir şeyleri silmeden ve yeniden yüklemeden önce denemeye değer.


Bu yanıtta belirtildiği gibi stackoverflow.com/a/50737296/1340995 bu bir izin sorunudur. Pip ile birlikte kullanmanın da python3 -m pipbu sorunu çözdüğünü buldum , muhtemelen pythonyürütme iznine sahip olduğundan ve sadece dosyayı yüklediği ve yürütmediği için + x iznine sahip olması gerekmediği için.
Maxime Viargues

3

Python2 veya python3 kullanıyor musunuz? Aşağıdaki komut farklı olabilir!

  1. kullanım python3 -m pip --versionpip'in kurulu olup olmadığını görmek için .
  2. evet ise, koş python3 -m pip install --upgrade pip .
  3. hayır ise, koş sudo apt-get install python3-pipve tekrar yap.

3

Muhtemelen bir sürüm çakışmasından kaynaklanmaktadır, bunu çalıştırmayı deneyin, eski pip'i bir şekilde kaldıracaktır.

sudo apt remove python pip

Ne 's değerinde için, bu görünür için çözüm olarak bir Debian gibi dağıtıma ( örn , Ubuntu 16.04) python-pippaket dağıtımlarının seviyesinde monte edilmiş ve get-pip.pybir kullanıcıya özgü sürümü için kullanılan olmuştu pipda oldu $PATH. Ben sudo apt-get removed python-pippaketi (2.7) ve yerine benim ~ / .local / bin tane kullanılır. Artık hata mesajı yok.
TheDudeAbides


2

Aşağıdaki komutları çalıştırarak bu hatayı düzelttim:

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

Önceden kurulmuş boruyu kaldıracak ve yeniden kuracaktır. Teşekkürler :)


1

Aşağıdaki çözüm, makinemde python2.7 " $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py" ve ardından "$ sudo python2.7 get-pip için sorunu çözdü .py --force-yeniden yükleme "


1
Bu benim için çalışıyor ancak kullandığınız python sürümüne değiştirmeniz gerekiyor. sudo python3 get-pip.py --force-yeniden yükleme. Harika.
alyssaeliyah

1

Sadece şuanki kullanıcı için:

easy_install --user pip

veya

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

İkincisi, pip adlı modülü bulursa /usr/bin/python: No module named pip Eşit verebilir which pip. Bu durumda deneyineasy_install


1

Pip3 aracılığıyla bir paket kurmaya çalıştığımda Windows'ta aynı hatayla karşılaştım:

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'um Anaconda aracılığıyla kurulur. Bu sorunu pip'i conda ile yeniden yükleyerek çözdüm:

conda install pip

Bundan sonra pip normale döner.


0

Benim için hiçbir şey işe yaramadı, ancak tek bir şey: Komutun önünde sudo kullandım ve iyi çalışıyor.


Durumum daha tuhaftı çünkü "sudo" hala bana aynı hatayı verdi. Pip3.5 list ve pip3.5 kurulumunu yapabilmek için root'a (sudo su on ubuntu) geçmem gerekiyordu: |
jmng

0

Python kurulumunu 3.6'dan 3.7'ye yükselttikten sonra sanal ortamımda aynı sorunu yaşıyorum, ancak yalnızca vent global olarak pip çalışıyor, çözmek için sanal ortamımı devre dışı bırakıp siliyorum, yeniden oluşturduktan sonra ve şimdi iyi, venv'de:

deactivate
rm -rvf venv 

ve sanal ortamı yeniden oluşturduktan sonra. Mac OS 10.11 ve python 3 kullanıyorum


0

(Windows'ta) bunun neden olduğundan emin değilim, ancak PYTHONPATH kurulumum python'un kurulu olduğu c: \ python27'ye işaret etmesini sağladı. virtualenv ile kombinasyon halinde bu, bahsedilen hatayı oluşturmuştur.

PYTHONPATH env değişkeni hep birlikte kaldırılarak çözüldü


0

benim çözümüm: diğer yanıtların çoğu gibi ilk adım:

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

ikinci olarak, yumuşak bağlantı ekle

sudo ln -s /usr/local/bin/pip /usr/bin/pip


0

önce onu kaldırabilir ve tekrar kurabilirsiniz, tamam olacak. centos için:

yum remove python-pip
yum install python-pip

0

Bu sorunu şu şekilde düzelttim

sudo apt-get install python3-pip

bu python2.7 için bile çalıştı, harika ...


0

Benim çözümüm, komutlara import pipbağlı komut dosyasına eklemek pip/pip3.

Öncelikle dosyayı (örneğin /usr/local/bin/pip) favori metin düzenleyiciniz ve sudo modu ile açın. Örneğin sudo vim /usr/local/bin/pip, komut dosyasını açmak için kullanıyorum .

Aşağıdaki gibi bazı dosyalar elde edeceksiniz:

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())

Daha sonra, sorun çözülmeden import piphemen önce ifadeyi ekleyin from pip._internal import main.


0

Bunlar genellikle pip'i kullanarak sistem kurulu pip'i "güncellemek" ve / veya kullanıcı altında birden fazla pip kurulumuna sahip olmaktan gelir. Benim çözümüm, kullanıcı altında birden fazla kurulu pipi temizlemek, pip repo'yu yeniden kurmak, ardından yukarıdaki gibi "pip install --user pip" idi.

Resmi bir tam tartışma ve sorunla ilgili düzeltmeler için bkz: https://github.com/pypa/pip/issues/5599 .


-1

Sorunu çözmek için aşağıdaki komutu denedim ve benim için çalıştı:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall
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.