2016-03-30 10 views
1

Hatalı bir sorunla karşılaşıyorum.Python'un yanlış sürümünü kullanan Pip aniden

Hatırlayabildiğim kadarıyla (ve .bash_history'ime hızlı bir bakış onaylıyor gibi görünüyor) Yapılandırmamda yeni bir değişiklik yapmadım. Ne yazık ki, pip komutu aniden pythonun farklı bir versiyonunu daha öncekinden daha fazla kullanıyor gibi görünüyor. Şimdiye kadar python2 kütüphaneleri ve pip3'ü python3 kütüphaneleri ile yönetmek için yönetmek için komut pipetini kullanıyordum. Aniden, pip yüklemeyi çalıştırma girişimleri, baskı ifadeleri etrafında parantez eksik gibi hatalarla başarısız olur. pip komut PyPi2 veritabanından ama şimdi python3 çalışıyor olması gibi görünüyor nedense Yani

which pip > /usr/local/bin/pip 

which pip3 > /usr/local/bin/pip3 

which python > /usr/local/bin/python 

python version > Python 2.7.11 

pip --version > pip 8.1.1 from /usr/local/lib/python3.5/site-packages (python 3.5) 

: Burada

ben sorunu anlamaya teşebbüs birkaç komutların bir sonucu mu? Bir fikrin nasıl düzeltileceği

+0

Başka bir program (bir yükleme komut dosyası gibi), '.bashrc' veya pip'le pip3'e bir şey hazır mısın? – ChrisP

+0

Hangi OSX sürümünü çalıştırıyorsunuz? O pitonu nereden aldın? Homebrew? Bir şey güncellemediğinden emin misin? – daveydave400

+0

Bu mümkün, ama benim .bash_profile (ve bir .bashrc yok) hiçbir şey görmüyorum demlemek güncelleme ve günlük yükseltme hakkında brew koşmak. OS X sürümü 10.11.4 – jcmiller11

cevap

2

o zaman bash profilinde takma adları eklemeniz gerekir bu sorunu çözerse, Terminal aşağıdaki komutları çalıştırarak

alias pip="/usr/local/bin/pip" 
alias pip2="/usr/local/bin/pip" 
alias pip3="/usr/local/bin/pip3" 

adlar ayarlamak için deneyin. Daha fazla bilgi için How do I create a Bash alias?'a bakın.

Alternatif olarak, python2 get-pip.py birinci ve sonra python3 get-pip.py get-pip.py https://bootstrap.pypa.io/get-pip.py

+0

Sorun şu ki,/usr/local/bin/pip' şimdi pip3 ile bağlantılı olduğundan, çözümünüzün işe yaramayacağını düşünüyorum. – daveydave400

+0

Yanıtın ikinci kısmında önerildiği gibi pipu tekrar kurması gerekiyor. –

+0

Pip'i yeniden yüklemek için pip kullanmış olduğum tüm kitaplıkları yeniden yüklememi ister misiniz? – jcmiller11

0

buradan indirilebilir sizin pip yürütülebilir açın edilebilir kullanarak pip yeniden yüklemeniz:

vi /usr/local/bin/pip 

Göreceksin bir mesele çizgi üst Python yanlış işaret edebilir (bunu bir kez de vardı). Python için

Nokta istediğiniz:

#!/usr/local/bin/python2.7 
4

Ben de birden Python sürümleri ve dolayısıyla birden fazla pip sürümleri ile çalıştırın.

Her zaman, ancak, pip güncelleştirdiğinizde, güncelleştirdiğiniz sürümle standart pip komutunu değiştirirsiniz. Yani pip3 install --upgrade pip, sisteminize bir /usr/local/bin/pip koyacaktır, Python 2 sürümünü bozar.

python3 -m pip search <package> 

veya

python2 -m pip search <package> 

veya bu garanti bile

python3.5 -m pip search <package> 

sizin pip versiyonu hep Python eşleştiğini:

Bunun yerine, bir (çalıştırılabilir) modül olarak pip koşmak için kullanmak istediğiniz sürüm. Yazmak biraz daha uzun, ama ben bunun açıklığını tercih ediyorum (ki, sanırım, Python'un Zenini takip ediyor).

python3.5 -m pip install --upgrade pip 

hala /usr/local/bin/pip bir Python 3.5 sürümünü yüklemek olacak, ama sadece o görmezden geliyorum: güncellenmesi pip

Not.Sadece doğrudan pip'u çalıştıran (kabuk) komut dosyalarına dikkat edin.