141 votes

localisation de python sur mac osx

Je suis un peu perdu avec le python sur osx. Je ne sais pas si l'ancien propriétaire de l'ordinateur portable a installé macpython en utilisant macport. Et je me suis souvenu que osx a une version intégrée de python. J'ai essayé d'utiliser type -a python et le résultat obtenu est le suivant

python is /usr/bin/python
python is /usr/local/bin/python

Cependant, l'exécution de python à ces endroits me donne [GCC 4.2.1 (Apple Inc. build 5646)] on darwin . Font-ils tous deux référence au même mac python intégré fourni ?

J'ai également lu qu'en installant macpython, on pourrait

     A MacPython 2.5 folder in your Applications folder. In here you
 find IDLE, the development environment that is a standard part of
 official Python distributions...

J'ai regardé Applications et il y a un MacPort dossier avec python2.6 et les éléments qui y sont mentionnés. Mais en mode IDLE, je trouve le même message que ci-dessus.

Je suis un peu perdu. Lequel est lequel ?

114voto

KingKohn Points 93

Celui-ci résoudre tous vos problèmes non seulement sur Mac mais de le trouver sur Linux également ( & tous les shells de base).

TL;DR (vous n'êtes pas obligé de lire toute la réponse - seulement la première moitié).
ALLONS-Y

Exécuter dans le terminal :

which python3

Sur Mac, vous devriez obtenir :

/usr/local/bin/python3

ATTENDEZ !!! Il s'agit probablement d'un lien symbolique, comment le savez-vous ? Exécuter :

ls -al /usr/local/bin/python3 

et vous obtiendrez (si vous avez installé Python avec Brew) :

/usr/local/bin/python3 -> /usr/local/Cellar/python/3.6.4_4/bin/python3

ce qui signifie que votre

/usr/local/bin/python3 

pointe en fait vers (le real localisation)

/usr/local/Cellar/python/3.6.4_4/bin/python3

C'est tout !

Version longue (facultative) : Si, pour une raison quelconque, votre

/usr/local/bin/python3 

ne pointe pas vers l'endroit voulu, c'est-à-dire dans notre cas :

/usr/local/Cellar/python/3.6.4_4/bin/python3

il suffit de le soutenir (+cool trick to add) .orig au fichier) :

cp /usr/local/bin/python3{,.orig} 

et courir :

rm -rf /usr/local/bin/python3

crée maintenant un nouveau lien symbolique :

ln -s /usr/local/Cellar/python/3.6.4_4/bin/python3 /usr/local/bin/python3 

et maintenant votre

/usr/local/bin/python3

pointe vers

/usr/local/Cellar/python/3.6.4_4/bin/python3 

Vérifiez-le en courant :

ls -al /usr/local/bin/python3

88voto

Gavin Points 774

J'ai trouvé le moyen le plus simple de le localiser, vous pouvez utiliser

which python

il apparaîtra quelque chose comme ceci :

/usr/bin/python

78voto

Ned Deily Points 40248

[GCC 4.2.1 (Apple Inc. build 5646)] est la version de GCC avec laquelle le(s) Python(s) a(ont) été compilé(s), et non la version de Python elle-même. Cette information doit figurer sur la ligne précédente. Par exemple :

# Apple-supplied Python 2.6 in OS X 10.6
$ /usr/bin/python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

# python.org Python 2.7.2 (also built with newer gcc)
$ /usr/local/bin/python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Articles en /usr/bin devrait toujours être un lien vers les fichiers fournis par Apple dans OS X, à moins que quelqu'un n'ait malencontreusement modifié les choses à cet endroit. Pour savoir exactement où se trouve le fichier /usr/local/bin/python est lié à :

$ ls -l /usr/local/bin/python
lrwxr-xr-x  1 root  wheel  68 Jul  5 10:05 /usr/local/bin/python@ -> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python

Dans ce cas, il s'agit typiquement d'une instance de Python installée sur python.org ou d'une instance construite à partir des sources.

63voto

Tim Points 5911

Sous Mac OS X, il se trouve dans le cadre Python, à l'adresse suivante /System/Library/Frameworks/Python.framework/Resources .

Le chemin complet est :

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python

Par ailleurs, il est facile de savoir où l'on peut trouver un binaire spécifique : which Python vous indiquera le chemin de votre binaire Python (qui est probablement le même que celui que j'ai indiqué ci-dessus).

9voto

Yongzhi.C Points 91

J'ai consulté quelques discussions similaires et j'ai découvert que la meilleure façon de localiser toutes les versions de python2/python3 est :

which -a python python3

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X