Installieren von Python3.6 neben Python3.7 auf dem Mac


70

Ich versuche, Tensorflow mit Python3.7 auf einem Mac zu installieren. Ich erhalte jedoch den Fehler:

$ pip3 -v install tensorflow
...    
    Skipping link https://files.pythonhosted.org/packages/56/7a/c6bca0fe52a94ca508731d8b139e7dbd5a36cddc64c19f422f97e5a853e8/tensorflow-1.10.0rc1-cp36-cp36m-win_amd64.whl#sha256=3ab24374888d6a13d55ce2e3cf4ba0c9cd6f824723313db5322512087525cb78 (from https://pypi.org/simple/tensorflow/); it is not compatible with this Python
  Could not find a version that satisfies the requirement tensorflow (from versions: )
Cleaning up...
Removed build tracker '/private/var/folders/4n/9342s4wd3jv0qzwjz8rxrygr0000gp/T/pip-req-tracker-3p60r2lo'

No matching distribution found for tensorflow

Soweit ich das beurteilen kann, geschieht dies, weil Tensorflow Python3.7 noch nicht unterstützt. Um dieses Problem zu umgehen, möchte ich Python3.6 neben 3.7 installieren und dann Tensorflow auf diese Version installieren. Ich bin jedoch neu in Mac und nicht sicher, wie ich das richtig machen soll, ohne möglicherweise mit der bereits vorhandenen Python-Version herumzuspielen.

Ich habe versucht, Brew zu verwenden, aber es sieht so aus, als ob Python3 so spezifisch ist, wie es nur geht. Was ist der richtige Weg, um das zu tun, wonach ich suche?

Antworten:


152

Versuchen Sie es brewbeispielsweise mit Python 3:

$ brew unlink python

Dann installieren Python 3.6.5 :

$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Um zu Python zurückzukehren, 3.7.4_1verwenden Sie:

$ brew switch python 3.7.4_1

Und wenn nötig 3.6 nochmal wechseln mit:

$ brew switch python 3.6.5_1

Ich bekomme den FehlerError: No such keg: /usr/local/Cellar/python
Sebastian

10
Ich habe --ignore-dependendecies hinzugefügt, damit es funktioniert (rekursiver Abhängigkeitsfehler mit sphinx-doc): Brew install --ignore-dependencies raw.githubusercontent.com/Homebrew/homebrew-core/…
Vincent J

3
Gibt es einen Brew Formula Link für Python 3.6.7? Python 3.6.5 hat einige schwerwiegende Probleme - bugs.python.org/issue24658 und seine Installation sollte vermieden werden!
Loretoparisi

Ich hatte auch dieses Problem Error: No such keg: /usr/local/Cellar/python. Es wurde gelöst, indem Python, die neueste Version, mit Brew installiert, dann die Verknüpfung aufgehoben und so weiter. Installieren Sie also zuerst die neueste Version mit Brew.
Shahin

Aus irgendeinem Grund funktioniert das Wechseln zwischen Python-Versionen bei mir nicht. Stattdessen wo auch immer ich verwenden würde python, verwende ich python3.6stattdessen und wenn Pakete mit pip Installation, verwende ichpython3.6 -m pip install package_name
SteveC

34

Wenn Sie einen Mac verwenden, können Sie pyenv von Brew installieren, die gewünschten Versionen installieren, die installierten Versionen auflisten und jede Version lokal oder global aktivieren.

brew install pyenv
pyenv install 3.6.9
pyenv install 3.7.4    
pyenv versions
pyenv global 3.7.4 3.6.9
$ python3.6 --version 
Python 3.6.9 

$ python3.7 --version
Python 3.7.4

PS: Die globale Aktivierung funktionierte erst nach dem Neustart des Computers. Sie müssen prepend $(pyenv root)/shimsauf die linke Ihrer PATHUmgebungsvariable.


Ich habe noch nie benutzt pyenv. Was mache ich nach dem letzten Befehl? python36 myscript.pyund python3.7 myscript.pybeide scheitern.
falsePockets

1
Fügen Sie hinzu, die Antwort ist, $(pyenv root)/shimsvor dem PATH. Ich werde die Antwort aktualisieren, um dies zu sagen.
falsePockets

Es ist notwendig, den Export export PATH=$(pyenv root)/shims:PATHzum.bash_profile
Saravanakumar G

7

Wenn Sie mit System-Python-Versionen herumspielen , empfehle ich dringend die Verwendung von pyenv - es macht das Leben so viel einfacher. Du würdest einfach rennen

brew install pyenv
pyenv install 3.6.5
pyenv install 3.7.4

Dann kannst du rennen pyenv local [python version]

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.