2015-07-14 12 views
5

domanda Edit-riformulato per essere meno fuorviantepip3.4 -V si riferisce alla installazione python2.7

C'è una differenza tra PIP3 e PIP2? pip2 -V e pip3-V sia produrre l'output

pip 7.1.0 da /usr/lib/python2.7/site-packages (python 2,7)

Vecchio domanda qui sotto

ho visto raccomandazioni impostare un virtualenv python3 utilizzando PIP3, ma quando digito

pip3.4 -V 

ho l'uscita

pip 7.1.0 from /usr/lib/python2.7/site-packages (python 2.7) 

Quale è esattamente la stessa uscita che ottengo da pip -V e pip2 -V. La mia installazione di python3 funziona bene. Qual è l'accordo? Pip, pip2 e pip3, in realtà sono la stessa cosa? Dopotutto https://pip.pypa.io/en/stable/index.html, solo cita pip. Inoltre stranamente, nella mia cartella /usr/bin, posso vedere il mio PIP3 è più vecchio di mio pip3.4 binario - il che spiega perché pip3 -V fallisce con

pkg_resources.DistributionNotFound: pip==1.5.6 

Allora, qual è il problema? la sintassi di pip3 è ridondante o c'è qualcosa di sbagliato nel mio sistema? Uso opensuse 13.2

+0

vedere http://stackoverflow.com/questions/10763440/how-to-install-python3-version-of-package-via-pip-on-ubuntu. potrebbe essere d'aiuto puoi specificare quale python usare nel tuo virtualenv. Pip viene quindi automaticamente installato per quella versione all'interno dell'ambiente – jumojer

risposta

0

È possibile utilizzare il flag --python=python3 per specificare la versione di Python che si desidera utilizzare.

0

Dopo la reinstallazione python3-pip (pacchetto openSUSE) pip3 -V e pip3.4 -V produrre output corretto

pip 7.1.0 from /usr/lib/python3.4/site-packages (python 3.4) 

realtà avevo anche disinstallato PIP2 nel processo e PIP2 stranamente reinstallare con python get-pip (get-pip) ha cambiato la mia pip3.4 di recente a lavorare per puntare nuovamente ai pacchetti del sito python2. Ho appena cambiato eliminando il pip3.4 sbagliato e creando un collegamento simbolico a pip3

3

In Debian, ho trovato tre file brevi in ​​/ usr/local/bin: pip; PIP3; e pip3.4. Tutti erano identiche:

#!/usr/bin/python 

# -*- coding: utf-8 -*- 
import re 
import sys 

from pip import main 

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

Cambiando la prima linea di shebang di PIP3 (con sudo) per

#!/usr/bin/python3 

Poi assicurare che il PIP originale era esplicitamente

#!/usr/bin/python2 

Tutta la mia confusione ed errori simili sono scomparsi.

Problemi correlati