[PYTHON] Macports easy_install löst die Version automatisch auf und führt sie aus

In einer Umgebung, in der Macports mehrere Pythons mit unterschiedlichen Versionen installiert hat und verschiedene Aktionen ausführt, wird automatisch die easy_install ausgewählt, die der mit port select ausgewählten Python-Version entspricht, wenn Sie versehentlich auf "easy_install" klicken. Ich wollte, dass es läuft, also schrieb ich ein Wrapper-Skript. (Japanisch ist zu lang)

Es gibt verschiedene Versionswechselmethoden, die für Python-Anfänger ein Chaos sind ...

#!/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} $@

Platzieren Sie dieses Skript mit Ausführungsberechtigung in einem Verzeichnis, das bevorzugt nach / usr / bin und / opt / local / bin durchsucht wird. Das Folgende ist ein Beispiel für die Installation (Betrieb wurde nicht bestätigt)

$ 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}"

Drücken Sie dann den Befehl normal.

$ 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)

Übrigens, wenn Sie die Version angeben und ausführen, sieht es so aus.

$ /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)

Die Wahrheit ist, ich wünschte, ich könnte so etwas wie port select --set easy_install easy_install-3.5 tun ... Nein, sollte ich Macports überhaupt beenden?

Recommended Posts

Macports easy_install löst die Version automatisch auf und führt sie aus
Automatisch die installierte Version abrufen
Überprüfen Sie, ob die Schulhomepage automatisch aktualisiert wird
Ermitteln und verarbeiten Sie die Codierung der Textdatei automatisch
[Version 2020] Scraping und Verarbeitung des Textes von Aozora Bunko
Greifen Sie automatisch auf den Fluss in enebular zu und drücken Sie den Abzug
Überprüfen Sie den Linux-Verteilungstyp und die Version