web-dev-qa-db-fra.com

Comment: Macports sélectionner Python

Quand j'entre: 

port select --list python

Voici le résultat:

Available versions for python:
    none
    python25 (active)
    python25-Apple
    python26-Apple
    python27
    python27-Apple

Je pensais que lorsque j'utiliserais python, j'utiliserais la version 2.5. Au lieu de cela quand j'entre "python", la version 2.7 semble être active. Comment puis-je changer cela à la version 2.5?

Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
27
kadrian

Pourquoi cela se produit

MacPorts installe les fichiers binaires dans /opt/localpar défaut .

Il existe également un préinstallé python sur votre Mac. Lorsque vous tapez simplement python pour démarrer, la version préinstallée de Python non affectée par l’installation de MacPorts sera lancée.

Pour voir quelle version sera exécutée lors de la saisie de python, utilisez

which python

Pour démarrer la version des ports mac, utilisez

/opt/local/bin/python2.5

Solution

Si vous souhaitez toujours utiliser les fichiers binaires MacPorts, vous pouvez modifier votre chemin afin que /opt/local/bin apparaisse avant le/use/local/bin etc. 

/opt/local/bin etc. sont ajoutés dans ~/.tcshrc par MacPorts. Veillez également à regarder dans ~/.profile et ~/.bash_profile car ils sont par défaut sur mac.

Sélection de la version dans les ports

Commencez par saisir port select --list python pour répertorier la version installée, puis, par exemple, Sudo port select --set python python27 pour sélectionner 2.7. Pour plus d'informations, tapez port help select.

20
vidstige

Utilisation 

osx$ port select --list python

pour lister vos installations Python disponibles. 

Utilisez ensuite l'option "--set" pour "sélection du port" pour définir le port que vous souhaitez utiliser.

osx$ Sudo port select --set python python27
35
easyE

Votre shell met probablement en cache l'invocation de python et ne regarde plus dans PATH. Ainsi, lorsque vous avez appelé python avant port select dans la même session Shell, vous devez effacer ce cache.

Pour bash, effacez le cache en utilisant

hash -r

ou ouvrez simplement une nouvelle fenêtre de terminal.

5
raimue

Python s'installe pour:

  • Par défaut (Apple): /usr/local/bin
  • MacPorts: /opt/local/bin
  • python.org: /Library/Frameworks/python...

Python par défaut est requis par le système, il est donc préférable de ne pas trop le gâcher. MacPorts Python est facile à utiliser car obtenir des paquets est si facile.

Vous pouvez définir le lien comme raccourci:

Sudo ln -s /opt/local/bin/python /usr/local/bin/ppython

Puis en ligne de commande pour utiliser la version MacPorts:

ppython script.py
5
Nick

Une alternative consiste à créer des liens symboliques avec chaque binaire Jupyter afin que le numéro de version n'apparaisse pas:

cd /opt/local/bin
JUPYTER_VERSION=2.7
for a in jupyter*$JUPYTER_VERSION; do Sudo ln -s $a $(echo $a | sed -e 's:-'$JUPYTER_VERSION':g'); done
0
Emanuele Cipolla