J'utilise Mountain Lion et la version de base de Python par défaut est 2.7. J'ai téléchargé Python 3.3 et je veux le définir par défaut.
Actuellement:
$ python
version 2.7.5
$ python3.3
version 3.3
Comment le configurer pour que chaque fois que je l'exécute, $ python
il s'ouvre en 3.3?
python
python-3.x
macos
install
Marcus
la source
la source
pyenv
.Réponses:
La modification de la version de l'exécutable python par défaut à l'échelle du système pourrait interrompre certaines applications qui dépendent de python2.
Cependant, vous pouvez alias les commandes dans la plupart des shells, puisque les shells par défaut dans macOS (bash dans 10.14 et ci-dessous; zsh dans 10.15) partagent une syntaxe similaire. Vous pouvez mettre l'alias python = 'python3' dans votre
~/.profile
, puis le source~/.profile
dans votre~/.bash_profile
et / ou votre~/.zsh_profile
avec une ligne comme:De cette façon, votre alias fonctionnera sur tous les shells.
Avec cela, la
python
commande appelle maintenantpython3
. Si vous souhaitez invoquer le python "original" (qui fait référence à python2 ) à l'occasion, vous pouvez utilisercommand python
ce qui ne modifiera pas l'alias et fonctionnera dans tous les shells.Si vous lancez des interprètes plus souvent (je le fais) , vous pouvez toujours créer plus d'alias à ajouter également, c'est-à-dire:
Astuce: pour les scripts, au lieu d'utiliser un shebang comme:
utilisation:
De cette façon, le système utilisera python3 pour exécuter les exécutables python .
la source
alias python=python3
puis exécuterpython
dans mon terminal sur osx el capitan n'a pas fonctionné pour moi. J'ai essayé de l'enregistrer à la fois ~ / .bash_aliases et ~ / .bash_profile.source ~/.bash_profile
après modification du~/.bash_profile
fichier.alias pip='pip3.6'
Vous pouvez le résoudre par un lien symbolique.
la source
unlink
au lieu derm
pour supprimer les liens symboliques (si vous ajoutez accidentellement une barre oblique de fin surrm
vous pourriez avoir de mauvais résultats). Alternativement, vous pouvez faireln -s -f ...
ce qui devrait remplacer le lien symbolique actuel.python
devraient l'êtrepython2.7
?unlink: /usr/bin/python: Operation not permitted
ln -s...
à- dire avec/local/
).Ouvrez le fichier ~ / .bash_profile .
Mettez ensuite l'alias comme suit:
Maintenant, enregistrez le fichier, puis exécutez le fichier ~ / .bash_profile .
Félicitations !!! Maintenant, vous pouvez utiliser python3 en tapant python .
Python 3.7.3
la source
source ~/.bash_profile
chaque fois que je rouvre mon terminal? Il revient à python2 une fois que je ferme et rouvre le terminal.Accédez au type de terminal:
Cela configurera le python par défaut en tant que python3.x
la source
Ce qui suit a fonctionné pour moi
la source
Je suis un peu en retard sur le jeu sur celui-ci, mais j'ai pensé que je devrais poster une réponse mise à jour car je viens de rencontrer ce problème par moi-même. Veuillez noter que cela ne s'appliquera qu'à une configuration basée sur Mac (je ne l'ai pas essayé avec Windows ou n'importe quelle version de Linux).
Le moyen le plus simple de faire fonctionner cela est d'installer Python via Brew . Si vous n'avez pas installé d'infusion, vous devrez d'abord le faire. Une fois installé, procédez comme suit dans le terminal:
Cela installera Python 3. Une fois installé, exécutez ceci:
Vous verrez tous les liens créés par brew vers son installation Python. Cela ressemblera à ceci:
La première ligne de cet exemple montre le
python3
lien symbolique. Pour le définir commepython
lien symbolique par défaut, exécutez ce qui suit:Une fois réglé, vous pouvez faire:
et il doit montrer:
Vous devrez recharger votre shell de terminal actuel pour qu'il utilise le nouveau lien symbolique dans ce shell, cependant, toutes les sessions shell récemment ouvertes l'utiliseront (devraient) automatiquement. Pour tester cela, ouvrez un nouveau shell de terminal et exécutez ce qui suit:
la source
Allez dans 'Applications', entrez dans le dossier 'Python', il devrait y avoir un script bash appelé 'Update Shell Profile.command' ou similaire. Exécutez ce script et il devrait le faire.
Mise à jour: il semble que vous ne devriez pas la mettre à jour: comment changer la version par défaut de python?
la source
Cela a fonctionné pour moi. J'ai ajouté un alias et redémarré mon terminal :
la source
Je crois que la plupart des gens qui ont atterri ici utilisent ZSH à travers iterm ou autre chose, et cela vous amène à cette réponse .
Vous devez ajouter / modifier vos commandes à la
~/.zshrc
place.la source
Je ne sais pas si cela est disponible sur OS X, mais sur Linux, je voudrais utiliser la
module
commande. Voyez ici .Configurez correctement le modulefile, puis ajoutez quelque chose comme ça à votre fichier rc (par exemple ~ / .bashrc):
Cela fera en sorte que vos chemins soient inversés comme requis lorsque vous vous connectez sans impact sur les valeurs par défaut du système.
la source
Je pense que lorsque vous installez python, il met des instructions de chemin d'exportation dans votre fichier ~ / .bash_profile. Donc, si vous n'avez plus l'intention d'utiliser Python 2, vous pouvez simplement supprimer cette déclaration à partir de là. L'alias comme indiqué ci-dessus est également un excellent moyen de le faire.
Voici comment supprimer la référence de ~ / .bash_profile - vim ./.bash_profile - supprimer la référence (AKA quelque chose comme: export PATH = "/ Users / bla / anaconda: $ PATH") - enregistrer et quitter - source ./ .bash_profile pour enregistrer les modifications
la source
terminé.
la source
La bonne et la mauvaise façon de définir Python 3 par défaut sur un Mac
Dans cet article, l'auteur explique trois façons de définir le python par défaut:
Toutes ces méthodes fonctionnent. Vous décidez lequel est le meilleur.
la source
Si vous utilisez un
virtualenvwrapper
, vous pouvez simplement le localiser à l'aidewhich virtualenvwrapper.sh
, puis l'ouvrir à l'aide devim
ou tout autre éditeur, puis modifier ce qui suitChangez la ligne
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
enVIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
.la source
Pour moi, la solution consistait à utiliser PyCharm et à définir la version par défaut de python sur celle avec laquelle je dois travailler.
installez PyCharm et allez dans le fichier ==> préférences pour le nouveau projet, puis choisissez l'interpréteur que vous voulez pour vos projets, dans ce cas python 3.3
la source
Si vous utilisez macports, vous n'avez pas besoin de jouer avec des alias ou des variables d'environnement, utilisez simplement la méthode déjà proposée par macports, expliquée par cette Q&R:
Comment: Macports sélectionner python
TL; DR:
la source
Si vous utilisez macports, cela a un moyen plus simple de le faire:
courir:
port install python37
après l'installation, définissez par défaut:
sudo port select --set python python37
sudo port select --set python3 python37
redémarrez votre fenêtre cmd, terminé.
la source
Eh bien ... c'est un peu vieux. Mais mérite toujours une bonne réponse.
Et le bon est que vous ne voulez pas toucher le Python par défaut sur Mac.
Installez n'importe quelle version de Python dont vous avez besoin via Homebrew ou autre et utilisez-la dans virtualenv. Virtualenv est souvent considéré comme quelque chose comme de la merde, mais c'est toujours bien mieux que de changer la version de python à l'échelle du système (macOS est susceptible de se protéger contre de telles actions) ou à l'échelle de l'utilisateur, à l'échelle de bash ... peu importe. Oubliez juste le Python par défaut. Utiliser des terrains de jeux comme venv est ce dont votre système d'exploitation sera le plus, le plus reconnaissant.
Le cas est, par exemple, que de nombreuses distributions Linux modernes se débarrassent de Python2 installé prêt à l'emploi, ne laissant que Python3 dans le système. Mais chaque fois que vous essayez d'installer quelque chose d'ancien avec python2 comme dépendance ... j'espère que vous comprenez ce que je veux dire. Un bon développeur s'en fiche. Les bons développeurs créent des aires de jeux propres avec la version python qu'ils souhaitent.
la source
Les utilisateurs de Mac doivent simplement exécuter le code suivant sur le terminal
3.xx devrait être la nouvelle version de python.
Cela mettra à jour tous les liens du système.
la source
Les suggestions d'alias python en python3 entraîneront des problèmes avec les environnements virtuels qui définissent la version de python (par exemple: pyenv). Avec pyenv, vous pouvez définir la version globalement comme ceci:
puis dans tout projet spécifique, vous pouvez créer un fichier de version .python qui contient la version python:
C'est la meilleure façon de gérer plusieurs versions de python sur un système à mon avis.
la source