2015-05-21 3 views
9

Ich habe die Python folgenden Distributionen auf meinem Windows-Computer installiert ist:Wie kann ich steuern, welche Python-Distribution ein Paket installieren soll, wenn ich Python 2, Python 3 und Anaconda auf meinem Computer habe?

  • Python 2.7 (IDLE)
  • Python 3.4 (IDLE)
  • Anaconda (Python 3,4)

sie ist offensichtlich, Alle speichern ihre Bibliotheken an verschiedenen Orten.

Also, wie kann ich leicht eine gezielte Installation zu (einer anderen) einer von ihnen jedes Mal machen, wenn ich dies tun muss?

Zum Beispiel gerade jetzt, ich versuche pytz zu Python 3.4 (IDLE) zu installieren, und pip install scheint Python 2.7 (IDLE) zu säumige, die die erste Verteilung von Python ist ich auf meinem Computer installiert war.

+1

Sie müssen den richtigen 'Pip' ausführen. Sie sollten 'Pip2' und' Pip3' haben. Ich bin mir nicht sicher, was Anaconda benutzt. – Blender

+0

Sie könnten auch virtualenv nützlich finden – nathancahill

+0

@Blender Nach der Pip-Website: "Python 2.7.9 und später (auf der Python2-Serie), und Python 3.4 und später gehören Pip standardmäßig." Aber "pip3 install pytz" an der Eingabeaufforderung gab mir diesen Fehler: "DNS-Server nicht autorisierend für Zone". –

Antwort

5

Anaconda Python

Wenn Sie Anaconda Python installiert ist, wird es wahrscheinlich Python-Befehl an Stelle der Anaconda-Interpreter als Standard überschreiben, so auch Pip. In diesem Fall werden alle von pip Befehl installierten Bibliotheken werden unter der Anaconda Python-Bibliothek Pfad installiert werden:

$ which python 
/home/datafireball/anaconda/bin/python 
$ which pip 
/home/datafireball/anaconda/bin/pip 
$ cat /home/datafireball/anaconda/bin/pip 
#!/home/datafireball/anaconda/bin/python 
if __name__ == '__main__': 
    import sys 
    from pip import main 
sys.exit(main()) 

Standard python2.7

Wenn Sie Bibliotheken unter Standard zu installieren versuchen python2.7, Sie können den pip Pfad so angeben:

/usr/bin/pip install <libraryname> 

In diesem Fall wird es das python2.7-Interpreter verwenden, um die Bibliothek zu kompilieren, und es wird unter Standard-python2.7 Bibliothek folde installiert werden r.

Python3

In meinem Ubuntu VM, python3 wird als Standard installiert, aber nicht die PIP3. Ich muss installieren, indem Sie sudo apt-get install python3-pip tun. Nach der Installation können Sie pip3 zum Installieren von Bibliotheken für python3 verwenden.

Mehr über PIP (ReadTheFullManual):

Es gibt in der Tat viele interessante Argumente in pip Befehl selbst Sie Paket wie in welcher Weise auch immer Sie installieren lassen.

Zum Beispiel

pip install --target wird die Bibliothek in der angegebenen Bibliothek installieren, die Sie pip Anaconda tatsächlich verwenden können die Bibliothek zu installieren unter Standard-Python-Bibliothek zu sein ... (nicht sicher, warum jemand dies tun würde)

+1

Anaconda würde erwartet, "Pip" zu entführen, aber interessanterweise ist mein Standard Python 2.7. Ich habe 'pip' von https://pip.pypa.io/en/stable/installing.html#install-pip erneut installiert, indem ich die Datei" get-pip.py "in Python 3.4 (IDLE) ausgeführt und empfangen habe Verifizierung, dass "pip" in meinem Python 3.4-Ordner/lib/site-packages installiert ist. Aber sowohl die 'pip install'- als auch die' pip3install'-Befehle in der Eingabeaufforderung setzen Python 2.7 weiterhin als Standard ein und sagen mir, dass die Anforderung bereits erfüllt ist. Daher kann ich immer noch keine Pakete in Python 3.4 (IDLE) installieren. –

+0

@TianJiang Führen Sie den Befehl 'which pip3' und öffnen Sie den Dateipfad in einem Editor wie VIM, ändern Sie die' #! 'Auf Python3.4 statt Python2.7 zeigen. Lass es mich wissen, wenn das funktioniert. –

+0

Danke. 'Welches pip3' gibt mir diesen Fehler:" DNS-Server nicht autorisierend für Zone ". (Ich weiß nicht, was das bedeutet. Einem Vorschlag im Internet folgend, habe ich "sfc/scannow" auf cmd ausgeführt, aber das hat mir nicht geholfen.) Gibt es möglicherweise einen anderen Weg, den ich für diesen Weg finden könnte? 'pip3'? –

3

Ich bin nicht sicher, warum Sie so viele verschiedene Pythons brauchen, aber für Anaconda sollten Sie Conda verwenden.

conda install pytz 

wird pytz in Ihrem Anaconda Python installieren.

Wenn Sie nur Python 2 und Python 3 verwenden möchten, können Sie dies mit Conda tun.

conda create -n py27 python=2.7 anaconda 

eine Conda Umgebung (ähnlich einem virtualenv aber leistungsfähigeren) mit der Python 2.7-Version von Anaconda erstellen. Sie können dies dann mit

aktivieren. Siehe http://continuum.io/blog/anaconda-python-3.

Sie können auch pip mit Anaconda verwenden, aber die Verwendung von Conda wird empfohlen, es sei denn, das von Ihnen benötigte Paket ist nicht über Conda verfügbar.

0

(in Eingabeaufforderung) C: \ Python34 \ scripts \ pip.exe pytz

installiert dies setzt voraus, Ihr Weg zum Bergwerk ähnlich ist. Ich habe den Standard-Installationsort für alle meine Pythons verwendet (2.7.3.4).

1

Für Anaconda zu C gehen: \ Users \ Benutzername \ Anaconda3 \ Scripts

ändern diese Dateien pip-script.py und pip.exe zu pip3-script.py und PIP3. exe. enter image description here

Fügen Sie diese Variablen zu Ihren Systemvariablen hinzu.

enter image description here

Vola .. !! Deine Aufgabe ist erledigt. Jetzt installieren Sie Pip2 für 2.7 und Pip3 für Anaconda Version. enter image description here

Verwandte Themen