2009-12-30 11 views
3

Quelle est la meilleure façon de configurer des liens symboliques vers les installations actuelles, par exemple python -> python2.6?Quelle est la meilleure façon de configurer des liens symboliques vers les installations actuelles, par exemple python -> python2.6

Je viens d'installer python2.6 via Macports à /opt/local/bin/python2.6, je voudrais maintenant mettre en place un lien symbolique appelé python ici/usr/local/bin /. Je veux ensuite pouvoir ajouter cette ligne au début de mes scripts python pour qu'il sache où chercher: #!/Usr/local/bin/python. Mais que se passe-t-il lorsque je mets Python à python2.7 par exemple, dois-je juste me souvenir d'aller sur mon lien symbolique et de le changer? Je suppose que je me souviendrai parce que ça ne marchera probablement plus? Y a-t-il une meilleure manière de faire cela?

Répondre

4

Par défaut, Ma cPorts installe délibérément et soigneusement tout dans un espace répertoire séparé: /opt/local. Cela garantit qu'il n'entre pas en conflit avec quoi que ce soit installé dans le cadre d'OS X ou de tiers. Pour vous assurer que les exécutables MacPorts-installés sont trouvés en premier, la solution recommandée est de modifier votre shell PATH pour mettre /opt/local/bin avant /usr/bin.

MacPorts fournit également un ensemble de port spécial, python_select, pour gérer la version python est pointée par la commande python dans /opt/local/bin.

sudo port install python_select 
sudo python_select 

Ensuite, pour faire vos scripts utilisent votre python préféré actuel, la solution traditionnelle consiste à utiliser le env program in the shebang line de vos scripts.

#!/usr/bin/env python 
1

Symlink la version que vous utilisez le plus.

Lorsque vous avez besoin une autre version, exécutez en spécifiant le numéro de version, par exemple:

$ python2.5 dev_appserver.py myapp 
-3

ne suis pas sûr OSX, voici ce que je fais sur Ubuntu 9.04:

>which python 
#/usr/bin/python 

Il suffit de remplacer ce fichier avec un lien symbolique vers la version de Python que vous voulez réellement utiliser:

>sudo ln -s /usr/bin/python2.6/python /usr/bin/python 
+2

Non, vous ne devriez pas * le faire!/usr/bin/python est le python fourni par Apple. Cela fait partie de OS X: au pire, vous risquez de casser votre système en faisant cela; au mieux, il sera écrasé par une future mise à jour d'OS X. –