Welke python gebruik ik?

Ik heb problemen om ervoor te zorgen dat ik de nieuwste versies van Python gebruik, ook al zijn ze al geïnstalleerd via homebrew.

$ brew upgrade python3
Error: python3 3.6.2 already installed

maar:

$ python3 --version
Python 3.6.0

hetzelfde geldt voor python2:

$ brew upgrade python
Error: python2 2.7.13_1 already installed
$ python --version
Python 2.7.10`

Antwoord 1, autoriteit 100%

❯ echo `which python`

Als hier ‘/usr/local/bin/python’ niet wordt afgedrukt (waar brew daadwerkelijk binaries installeert), dan is er iets mis met je $PATH (waarschijnlijk is ‘/usr/local/bin’ er niet of is het ingevoegd na ‘/usr/bin’, dus in plaats daarvan wordt de standaard python van het systeem uitgevoerd).

++ het lijkt erop dat brew zijn python2.7 standaard noemt als python2, en niet als python, dus het kan zijn dat je ook een python2-> python-link in de map /usr/local/bin.


Antwoord 2, autoriteit 33%

Heeft u voor elk aparte omgevingsvariabelen ingesteld?

Ik heb in het verleden ontdekt dat het nogal verwarrend kan zijn om meerdere versies van bijvoorbeeld Python 2 te hebben, zonder alle omgevingsvariabelen!

Als u python3 typt, ziet u mogelijk alleen python 3.0, tenzij u zich in de directory python 3.6.2 bevindt.


Antwoord 3, autoriteit 33%

Eerst heb ik mijn $PATH: sudo nano /etc/pathsaangepast zodat /Library/Frameworks/Python.framework/Versions/3.6/binniet werd aangeroepen . Ik zorgde ervoor dat mijn paden in de juiste volgorde stonden, zodat python eerst naar /usr/local/bin/python3en /usr/local/bin/python2zocht om de probleem.

Echter, $ python3 --versionis nog steeds terug
Python 3.6.0, hoewel Brew zegt dat python3 3.6.2 already installed.

brew doctorte hulp: homebrew raadde een paar dingen aan. python was onjuist gesymlinkt, dus ik heb brew --overwrite python3uitgevoerd. Ten slotte stelde het vast dat python afkomstig was van /Library/Frameworks/Python.framework/Versions/3.6/bin, dus ik sudo rm -rf /Library/Frameworks/Python.framework. Nu zijn python-versies correct.

Homebrew brew doctor waarschuwing over /Bibliotheek /Frameworks/Python.framework, zelfs met brew’s Python geïnstalleerd

Iedereen bedankt voor jullie hulp.

Other episodes