Hoe stel ik de standaardversie van Python in op 3.x op OS X?

Ik gebruik Mountain Lion en de standaard Python-versie is 2.7. Ik heb Python 3.3 gedownload en wil het als standaard instellen.

Momenteel:

$ python
    version 2.7.5
$ python3.3
    version 3.3

Hoe stel ik het zo in dat elke keer dat ik $ pythonstart het 3.3 opent?


Antwoord 1, autoriteit 100%

Als u de standaardversie van het uitvoerbare bestand van Python in het hele systeem wijzigt, kunnen sommige toepassingen die afhankelijk zijn van python2 kapot gaan.

U kunt echter de commando’s in de meeste shells een alias geven, aangezien de standaard shells in macOS (bash in 10.14 en lager; zsh in 10.15) een vergelijkbare syntaxis delen. Je zou kunnen zetten
alias python='python3'
in je ~/.profile, en bron dan ~/.profilein je ~/.bash_profileen/of je~/.zsh_profilemet een regel als:

[ -e ~/.profile ] && . ~/.profile

Op deze manier werkt je alias over shells heen.

Hiermee roept de opdracht pythonnu python3aan. Als je af en toe de “originele” python (die verwijst naar python2) wilt aanroepen, kun je command pythongebruiken, waardoor de alias ongewijzigd blijft en in alle schelpen.

Als je tolken vaker start (ik doe), kun je altijd meer aliassen maken om toe te voegen, d.w.z.:

alias 2='python2'
alias 3='python3'

Tip: Voor scripts, in plaats van het gebruik van een kreng zoals:

#!/usr/bin/env python

gebruik:

#!/usr/bin/env python3

Op deze manier zal het systeem Python3 gebruiken voor het uitvoeren van Python Executables .


Antwoord 2, Autoriteit 28%

U kunt het oplossen door symbolische koppeling.

unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.3 /usr/local/bin/python

Antwoord 3, Autoriteit 13%

Open ~ / .bash_profile bestand.

vi ~/.bash_profile

Plaats vervolgens de alias als volgt:

alias python='python3'

Sla het bestand nu op en voer vervolgens het ~ ~ / .bash_profile bestand uit.

source ~/.bash_profile

Felicitatie !!! Nu kunt u Python3 gebruiken door Python te typen.

python --version

Python 3.7.3


Antwoord 4, Autoriteit 6%

Ik heb dit probleem ook tegengekomen, dus ik dacht dat ik een bijgewerkt antwoord moest plaatsen. Houd er rekening mee dat dit alleen van toepassing is op een MAC-gebaseerde setup (ik heb het niet geprobeerd met Windows of elke smaak van Linux). De eenvoudigste manier om deze werken te krijgen is om Python te installeren via brouwen . Als u geen brouwsel hebt geïnstalleerd, moet u dat eerst doen. Eenmaal geïnstalleerd, doe het volgende in op de terminal:

brew install python

Hiermee wordt Python 3 geïnstalleerd nadat deze is geïnstalleerd, voert u dit uit:

ls -l /usr/local/bin/python*

Je zult alle koppelingen zien die door brew zijn gemaakt naar de Python-installatie. Het ziet er ongeveer zo uit:

lrwxr-xr-x  1 username  admin  36 Oct  1 13:35 /usr/local/bin/python3@ -> ../Cellar/python/3.7.4_1/bin/python3
lrwxr-xr-x  1 username  admin  43 Oct  1 13:35 /usr/local/bin/python3-config@ -> ../Cellar/python/3.7.4_1/bin/python3-config
lrwxr-xr-x  1 username  admin  38 Oct  1 13:35 /usr/local/bin/python3.7@ -> ../Cellar/python/3.7.4_1/bin/python3.7
lrwxr-xr-x  1 username  admin  45 Oct  1 13:35 /usr/local/bin/python3.7-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7-config
lrwxr-xr-x  1 username  admin  39 Oct  1 13:35 /usr/local/bin/python3.7m@ -> ../Cellar/python/3.7.4_1/bin/python3.7m
lrwxr-xr-x  1 username  admin  46 Oct  1 13:35 /usr/local/bin/python3.7m-config@ -> ../Cellar/python/3.7.4_1/bin/python3.7m-config

De eerste rij in dit voorbeeld toont de python3symlink. Om het in te stellen als de standaard pythonsymlink, voer je het volgende uit:

ln -s -f /usr/local/bin/python3 /usr/local/bin/python

Je bent nu helemaal klaar. Maar om zeker te zijn, doe je het volgende:

Voer deze opdracht uit om je shell opnieuw te laden.

exec $SHELL -l

Eenmaal ingesteld, kunt u het volgende doen:

which python

en het zou moeten tonen:

/usr/local/bin/python

U moet uw huidige terminal-shell opnieuw laden om de nieuwe symbolische link in die shell te gebruiken, maar alle nieuw geopende shell-sessies zullen deze automatisch (moeten) gebruiken. Om dit te testen, opent u een nieuwe terminal-shell en voert u het volgende uit:

python --version

Antwoord 5, autoriteit 4%

Ga naar terminaltype:

alias python=python3.x

Hiermee wordt standaard python ingesteld als python3.x


Antwoord 6, autoriteit 2%

Dit werkte voor mij. Ik heb aliastoegevoegd en mijn terminalopnieuw opgestart:

alias python=/usr/local/bin/python3

Antwoord 7, autoriteit 2%

Het volgende werkte voor mij

cd /usr/local/bin
mv python python.old
ln -s python3 python

Antwoord 8, autoriteit 2%

Ga naar ‘Applicaties’, voer de map ‘Python’ in, er zou een bash-script moeten zijn met de naam ‘Update Shell Profile.command’ of iets dergelijks. Voer dat script uit en het zou het moeten doen.

Update: het lijkt erop dat u deze niet moet bijwerken: hoe u de standaard python-versie kunt wijzigen ?


Antwoord 9

Ik geloof dat de meeste mensen die hier zijn beland, ZSH gebruiken via iterm of wat dan ook, en dat brengt je bij dit antwoord.

Je moet in plaats daarvan je commando’s toevoegen/wijzigen in ~/.zshrc.


Antwoord 10

Suggesties voor alias Python naar Python3 zal problemen veroorzaken met virtuele omgevingen die de versie van Python (bijv .: Pyenv) instellen. Met Pyenv kunt u de versie wereldwijd zo instellen:

pyenv global 3.8.2

En dan in een specifiek project, kunt u een .python-versiebestand maken met de Python-versie erin:

pyenv local 2.7.1

Dit is de beste manier om meerdere versies van Python op een systeem naar mijn mening te beheren.


Antwoord 11

$ sudo ln -s -f $(which python3) $(which python)

Gereed.


Antwoord 12

de juiste en verkeerde manier om Python 3 als standaard in te stellen op een Mac

In dit artikel bespreide auteur drie manieren om standaard Python in te stellen:

  1. Wat niet te doen.
  2. wat we konden doen (maar ook niet moeten).
  3. wat we moeten doen!

al deze manieren werken. Je beslist wat beter is.


Antwoord 13

Ik denk dat wanneer u Python installeert, het uitvoert uitvoertjes in uw ~ / .bash_profile-bestand. Dus als je niet van plan bent Python 2 meer te gebruiken, kun je die verklaring vandaan verwijderen. Alias ​​Zoals hierboven vermeld is ook een geweldige manier om het te doen.

Hier is het verwijderen van de referentie van ~ / .bash_profile
– VIM ./.BASH_PROFILE
– Verwijder de referentie (ook bekend als: Export Path = “/ Gebruikers / Bla / Anaconda: $ PATH”)
– Opslaan en afsluiten
– Bron ./.Bash_Profile om de wijzigingen

op te slaan


Antwoord 14

Mac-gebruikers hoeven de volgende code op Terminal

uit te voeren

brew switch python 3.x.x

3.x.xzou de nieuwe python-versie moeten zijn.

Hiermee worden alle systeemkoppelingen bijgewerkt.


Antwoord 15

Op MacOS

Stap-1: Upgrade Python naar de nieuwste versie door:
$ brew upgrade python

Stap-2: Ga naar huis:
$ cd

Stap-3: open .bash_profile

$ vi .bash_profile

PATH instellen voor Python 3.8

PATH=”/Bibliotheek/Frameworks/Python.framework/Versions/3.8/bin:${PATH}”
PAD exporteren

Stap-4: Sla het bestand op. En compileer het door:

$ . .bash_profile

Stap-5: Controleer de python-versie:

$ python -V

Stap-6: Dat is alles.


Antwoord 16

Ik weet niet zeker of dit beschikbaar is op OS X, maar op linux zou ik het commando modulegebruiken. Zie hier.

Stel het modulebestand correct in en voeg dan iets als dit toe aan je rc-bestand (bijv. ~/.bashrc):

module load python3.3

Hierdoor worden uw paden indien nodig verwisseld wanneer u zich aanmeldt zonder dat dit invloed heeft op de standaardinstellingen van het systeem.


Antwoord 17

Voor mij was de oplossing het gebruik van PyCharm en het instellen van de standaard python-versie op degene waarmee ik moet werken.

installeer PyCharm en ga naar bestand ==> voorkeuren voor nieuw project, kies vervolgens de interpreter die u voor uw projecten wilt, in dit geval python 3.3


Antwoord 18

Als je macports gebruikt, hoef je niet met aliassen of omgevingsvariabelen te spelen, gebruik gewoon de methode die macports al biedt, uitgelegd door deze Q&A:

Hoe: Macports selecteren python

TL; DR:

sudo port select --set python python27

Antwoord 19

Als u een virtualenvwrappergebruikt, kunt u het gewoon vinden met which virtualenvwrapper.sh, en vervolgens openen met vimof een ander Editor wijzigen vervolgens het volgende

# Locate the global Python where virtualenvwrapper is installed.
if [ "${VIRTUALENVWRAPPER_PYTHON:- }" = "" ]
then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi

Wijzig de lijn VIRTUALENVWRAPPER_PYTHON="$(command \which python)"naar VIRTUALENVWRAPPER_PYTHON="$(command \which python3)".


Antwoord 20

Als u MACPORTS gebruikt, heeft dat een eenvoudigere manier om te doen:

Uitvoeren:

port install python37

NA INSTALLEN, STAND STANDING:

sudo port select --set python python37

sudo port select --set python3 python37

Start uw CMD-venster opnieuw op, afgewerkt.


Antwoord 21

Nou … het is een beetje oud. Maar verdient nog steeds een goed antwoord.

En de goede is U wilt de standaard Python op Mac aanraken.

Installeer elke Python-versie die u nodig hebt via Homebrew of wat dan ook en gebruik het in VirtualenV. Virtualenv wordt vaak beschouwd als iets onzin, maar het is nog steeds veel, Wayyyy beter dan het veranderen van het veranderen van Python-versiesysteem (MacOS zal zichzelf waarschijnlijk beschermen tegen dergelijke acties) of door de gebruiker wijd, bash-wide … wat dan ook. Vergeet het standaard Python. Het gebruik van speeltuinen zoals Venv is wat je OS het meest zal zijn, heel erg dankbaar voor.

Het geval is, bijvoorbeeld, veel moderne Linux-distributies te ontdoen van python2 geïnstalleerde out-of-the-box, waardoor alleen python3 in het systeem. Maar elke keer dat je probeert om iets te oud met python2 installeren als afhankelijkheid … hoop dat u begrijpt wat ik bedoel. Een goede ontwikkelaar niet schelen. Goede ontwikkelaars schoon speelplaatsen met python versie die ze verlangen.


Antwoord 22

Dit is de eenvoudigste manier uit mijn exp. (Als je dat brouwsel geïnstalleerd op uw Mac).

Probeer deze uit uw terminal:

brew install python3

en voer de onderstaande op uw terminal:

ls -l /usr/local/bin/python*

Tip:

** (Noteer de python versie 3.8 of 3.9 dat is weergegeven op de terminal. Dit zal in de volgende stap nodig zijn). voor b.v. in mijn geval was:

lrwxr-xr-x 1 user admin 24 mei 14:33 7 / usr / local / bin / python – & gt; /usr/local/bin/python3.9

Voer nu de volgende commando op de terminal:

ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python

(waarbij 3.9 is de versie die op uw terminal met de vorige opdracht)

Het DONE!

Om de standaard versie van python te testen:

  1. Sluit de huidige terminal of start een nieuwe terminal en
  2. Voer de volgende opdracht:

python --version

Happy Coding!

Other episodes