J'ai installé python 3.2 sur mon mac. Après avoir exécuté/Applications/Python 3.2/Update Shell Profile.command , il est déroutant de constater que lorsque je tape python -V dans Terminal, il indique que Python 2.6.1 , comment changer la version par défaut de python?
C'est probablement souhaitable pour la compatibilité ascendante.
Python3 rompt la compatibilité avec les versions antérieures et les programmes appelant 'python' attendent probablement python2. Vous avez probablement déjà de nombreux programmes et scripts dont vous ne savez même pas qu'ils attendent python = python2, et leur modification risquerait de briser ces programmes et scripts.
La réponse que vous cherchez probablement est Vous ne devriez pas changer cela .
Vous pouvez toutefois créer un alias personnalisé dans votre shell. La façon dont vous le faites dépend du shell, mais vous pourriez peut-être faire alias py=python3
Si vous ne savez pas comment démarrer la dernière version de python, il est au moins le cas sous Linux que python3
laisse votre installation python2
intacte (pour les raisons de compatibilité ci-dessus); ainsi vous pouvez démarrer python3 avec la commande python3
.
Sous Mac OS X, en utilisant le programme d'installation de python.org, comme vous l'avez apparemment, vous devez appeler Python 3 avec python3
, pas python
. Cela est actuellement réservé aux versions de Python 2. Vous pouvez également utiliser python3.2
pour appeler spécifiquement cette version.
$ which python
/usr/bin/python
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ cd /Library/Frameworks/Python.framework/Versions/3.2/bin/
$ ls -l
total 384
lrwxr-xr-x 1 root admin 8 Apr 28 15:51 2to3@ -> 2to3-3.2
-rwxrwxr-x 1 root admin 140 Feb 20 11:14 2to3-3.2*
lrwxr-xr-x 1 root admin 7 Apr 28 15:51 idle3@ -> idle3.2
-rwxrwxr-x 1 root admin 138 Feb 20 11:14 idle3.2*
lrwxr-xr-x 1 root admin 8 Apr 28 15:51 pydoc3@ -> pydoc3.2
-rwxrwxr-x 1 root admin 123 Feb 20 11:14 pydoc3.2*
-rwxrwxr-x 2 root admin 25624 Feb 20 11:14 python3*
lrwxr-xr-x 1 root admin 12 Apr 28 15:51 python3-32@ -> python3.2-32
lrwxr-xr-x 1 root admin 16 Apr 28 15:51 python3-config@ -> python3.2-config
-rwxrwxr-x 2 root admin 25624 Feb 20 11:14 python3.2*
-rwxrwxr-x 1 root admin 13964 Feb 20 11:14 python3.2-32*
lrwxr-xr-x 1 root admin 17 Apr 28 15:51 python3.2-config@ -> python3.2m-config
-rwxrwxr-x 1 root admin 25784 Feb 20 11:14 python3.2m*
-rwxrwxr-x 1 root admin 1865 Feb 20 11:14 python3.2m-config*
lrwxr-xr-x 1 root admin 10 Apr 28 15:51 pythonw3@ -> pythonw3.2
lrwxr-xr-x 1 root admin 13 Apr 28 15:51 pythonw3-32@ -> pythonw3.2-32
-rwxrwxr-x 1 root admin 25624 Feb 20 11:14 pythonw3.2*
-rwxrwxr-x 1 root admin 13964 Feb 20 11:14 pythonw3.2-32*
Si vous avez également installé Python 2 à partir de python.org, il aurait un répertoire bin similaire à celui-ci, sans noms de fichiers qui se chevauchent (sauf pour 2to3).
$ open /Applications/Python\ 2.7/Update\ Shell\ Profile.command
$ sh -l
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ cd /Library/Frameworks/Python.framework/Versions/2.7/bin
$ ls -l
total 288
-rwxrwxr-x 1 root admin 150 Jul 3 2010 2to3*
lrwxr-x--- 1 root admin 7 Nov 8 23:14 idle@ -> idle2.7
-rwxrwxr-x 1 root admin 138 Jul 3 2010 idle2.7*
lrwxr-x--- 1 root admin 8 Nov 8 23:14 pydoc@ -> pydoc2.7
-rwxrwxr-x 1 root admin 123 Jul 3 2010 pydoc2.7*
lrwxr-x--- 1 root admin 9 Nov 8 23:14 python@ -> python2.7
lrwxr-x--- 1 root admin 16 Nov 8 23:14 python-config@ -> python2.7-config
-rwxrwxr-x 1 root admin 33764 Jul 3 2010 python2.7*
-rwxrwxr-x 1 root admin 1663 Jul 3 2010 python2.7-config*
lrwxr-x--- 1 root admin 10 Nov 8 23:14 pythonw@ -> pythonw2.7
-rwxrwxr-x 1 root admin 33764 Jul 3 2010 pythonw2.7*
lrwxr-x--- 1 root admin 11 Nov 8 23:14 smtpd.py@ -> smtpd2.7.py
-rwxrwxr-x 1 root admin 18272 Jul 3 2010 smtpd2.7.py*
Ancienne question, mais alternativement:
virtualenv --python=python3.5 .venv
source .venv/bin/activate
Changez le Python "par défaut" en le plaçant devant le système Python sur votre chemin, par exemple:
export PATH=/usr/local/bin:$PATH
Vérifiez l'emplacement de python 3
$ which python3
/usr/local/bin/python3
Écrire un alias dans bash_profile
vi ~/.bash_profile
alias python='/usr/local/bin/python3'
Recharger bash_profile
source ~/.bash_profile
Confirmer la commande python
$ python --version
Python 3.6.5
J'utilise OS X 10.7.5 et Python 3.4.2. Si vous tapez python3
et ce que vous voulez exécuter, il s'exécutera à l'aide de python 3. Par exemple pyhton3 test001.py
. Cela a couru un programme de test que j'ai fait appelé test001. J'espère que ça aide.
Selon une recherche rapide sur Google, cette mise à jour ne s'applique qu'au shell actuel que vous avez ouvert. Vous pouvez probablement le corriger en tapant python3, car mac et linux sont assez similaires pour que de tels événements coïncident. Lien vers le résultat de la recherche Google.
En outre, comme l'a déclaré ninjagecko, la plupart des programmes n'ont pas encore été mis à jour vers 3.x. Par conséquent, l'utilisation du python par défaut en tant que 3.x romprait de nombreux scripts python utilisés dans les applications.
Aller vers:
Poste de travail -> Propriétés -> Avancé -> Variables d'environnement -> Variables système
Supposons que python 2.7 ait déjà été ajouté dans la variable de chemin et que vous souhaitiez changer le chemin par défaut en python 3.x
puis ajoutez le chemin du dossier python3.5.x avant le chemin python2.7.
open cmd: type "python --version"
la version de python sera remplacée par python 3.5.x
Sudo mv /usr/bin/python /usr/bin/python2
Sudo ln -s $(which python3) /usr/bin/python
Cela va casser les scripts, mais c’est exactement le moyen de changer de python. Vous devez également réécrire les scripts pour ne pas supposer que python
est 2.x. Cela fonctionnera quel que soit l'endroit où vous appelez system
ou exec
.
Faire la bonne chose, faire la bonne chose!
---> Zero Ouvrez votre terminal,
--En premier lieu, saisissez python -V
, il est probable que:
Python 2.7.10
-En second lieu, saisissez python3 -V
, cela indique probablement:
Python 3.7.2
- Troisièmement, saisissez where python
ou which python
, cela indique probablement:
/usr/bin/python
Quatrièmement, entrez where python3
ou which python3
, il est probable que:
/usr/local/bin/python3
- Ajoutez ensuite la ligne suivante au bas de votre fichier de variable d’environnement PATH dans ~/.profile file or ~/.bash_profile
sous Bash ou ~/.zshrc
sous zsh.
alias python='/usr/local/bin/python3'
OR
alias python=python3
-Sixthly saisir source ~/.bash_profile
sous Bash ou source ~/.zshrc
sous zsh.
- Septièmement, quittez le terminal.
--- Huitièmement Ouvrez votre terminal et entrez python -V
. Il indique probablement:
Python 3.7.2
Je l'avais essayé avec succès.
D'autres, le ~/.bash_profile
sous zsh n'est pas ce ~/.bash_profile
.
La variable d’environnement PATH sous zsh à la place de ~/.profile
(ou ~/.bash_file
) via ~/.zshrc
.
Aidez-vous les gars!