[PYTHON] Macports easy_install résout et exécute automatiquement la version

Dans un environnement où Macports a installé plusieurs versions de Python et fait diverses choses, lorsque vous appuyez par inadvertance sur ʻeasy_install`, le easy_install correspondant à la version Python sélectionnée avec le port select est automatiquement sélectionné Je voulais qu'il fonctionne, alors j'ai écrit un script wrapper. (Le japonais est trop long)

Il existe différentes méthodes de changement de version qui sont le chaos pour les débutants en Python ...

#!/bin/bash
###
### Macports easy_install wrapper
###   Created by H.Ishiura 2016-12-17
###

SELECT=`port select --show python`
if [[ "$SELECT" =~ ^The\ currently\ selected\ version\ for\ \'python\'\ is\ \'python(.)(.)\'\.$ ]]; then
    MAJOR_VERSION=${BASH_REMATCH[1]}
    MINOR_VERSION=${BASH_REMATCH[2]}
    COMMAND="easy_install-${MAJOR_VERSION}.${MINOR_VERSION}"
else
    COMMAND="/usr/bin/easy_install"
fi
${COMMAND} $@

Placez ce script avec l'autorisation d'exécution dans un répertoire recherché de préférence à / usr / bin et / opt / local / bin. Voici un exemple d'installation (l'opération n'a pas été confirmée)

$ sudo port install python27
$ sudo port install py27-readline
$ sudo port install py27-setuptools
$ sudo port install py27-pip
$ sudo port install python35
$ sudo port install py35-readline
$ sudo port install py35-setuptools
$ sudo port install py35-pip
$ sudo port select --set python python35
$ sudo port select --set pip pip35
$ curl https://gist.githubusercontent.com/ura14h/6742ae07036dcf74b30de5d2ff8931a9/raw/f30e3887421e93a26df5553eb5c425cb7d7407e2/easy_install -o easy_install_wrapper
$ mkdir ~/bin/
$ mv easy_install_wrapper ~/bin/easy_install
$ chmod 755 ~/bin/easy_install
$ export PATH="${HOME}/bin:${PATH}"

Puis appuyez sur la commande normalement.

$ easy_install --version
setuptools 30.3.0 from /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (Python 3.5)

Au fait, lorsque vous spécifiez la version et que vous l'exécutez, cela ressemble à ceci.

$ /usr/bin/easy_install --version
setuptools 18.5 from /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (Python 2.7)
$ 
$ easy_install-2.7 --version
setuptools 30.3.0 from /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (Python 2.7)
$ 
$ easy_install-3.5 --version
setuptools 30.3.0 from /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (Python 3.5)

La vérité est que j'aimerais pouvoir faire quelque chose comme port select --set easy_install easy_install-3.5 ... Non, dois-je quitter Macports en premier lieu?

Recommended Posts

Macports easy_install résout et exécute automatiquement la version
Récupérer automatiquement la version installée
Vérifiez que la page d'accueil de l'école est automatiquement mise à jour
Déterminer et traiter automatiquement l'encodage du fichier texte
[Version 2020] Grattage et traitement du texte d'Aozora Bunko
Accédez automatiquement au flux dans enebular et appuyez sur la gâchette
Vérifiez le type et la version de la distribution Linux