Ich habe das Verfahren zum Erstellen einer Python-Umgebung von Grund auf zusammengefasst.
Zum besseren Verständnis Ich werde die Begriffe und Werkzeuge aufschreiben, die unten erscheinen, wie zum Beispiel die Korrespondenz mit JS. In Javascript
nvm => pyenv
node_modules => pyvenv
package.json => requirements.in, requirements.txt
Befehl npm install=> pip-sync
Flusenwerkzeuge=> pytest
Es ist eine solche Korrespondenz.
pyenv
Befehlszeilentool für die Versionsverwaltung von Python selbst
(Installieren Sie Python 3.5.2 als Beispiel) (Installieren Sie den Befehl git im Voraus.)
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ export PATH="$HOME/.pyenv/shims:$HOME/.pyenv/bin:${PATH}"
#Zeigen Sie eine Liste der installierbaren Versionen an
$ pyenv install --list
# 「3.5.2 "Teil gibt eine beliebige Version an
$ pyenv install 3.5.2
$ pyenv global 3.5.2
pyvenv
Ein Befehlszeilentool zum Erstellen virtueller Python-Umgebungen. Standardmäßig in Python enthalten
Beispiel: Wenn Sie keine Pandas auf Ihrem Server haben und diese nicht auf dem Server selbst installieren möchten (Sie möchten die Einstellungen auf dem Server selbst nicht ändern), aber Pandas verwenden möchten Durch die Kombination von "Python-Umgebung mit installierten Pandas" in einem Verzeichnis Auch innerhalb des gleichen Servers
Standard=>Pandas können nicht verwendet werden
Unter der erstellten virtuellen Umgebung=>Pandas können verwendet werden
Und kann richtig verwendet werden. (Wenn Sie die virtuelle Umgebung löschen möchten, löschen Sie einfach das gesamte Verzeichnis.)
#Ein Verzeichnis namens venv wird erstellt
$ pyvenv venv
#Betreten Sie die virtuelle Umgebung
$ source venv/bin/activate
#Was hier installiert wurde, ist venv/lib/python3.5/site-packages/Verwaltet innerhalb
# (Nicht in der Standard-Python-Umgebung installiert)
(venv) $ pip install pandas
#Raus aus der virtuellen Umgebung
(venv) $ deactivate
Selbst wenn Sie die gesamte virtuelle Umgebung selbst (im venv-Verzeichnis) freigeben, kann dieselbe Umgebung von verschiedenen Servern gemeinsam genutzt werden. Da jedoch die Kapazität der virtuellen Umgebung selbst zu groß ist, verwenden Sie normalerweise das Paketverwaltungstool, um "Welches zu installierende Paket" auszuwählen. Schreiben Sie nur die Informationen von "Ist es?" Und teilen Sie es.
require.in
.#Schreiben Sie das Paket, das Sie installieren möchten
pandas
#Wenn Sie die Version angeben möchten, schreiben Sie wie folgt
django>=1.8.0,<1.9.0
tweepy==3.3.0
ansible>=1.8.0
#Installation der erforderlichen Befehle
$ pip install pip-tools
# requirements.Erstellen Sie txt
# requirements.In txt ist die Version des tatsächlich zu installierenden Pakets der Inhalt des abhängigen Pakets.
$ pip-compile requirements.in
# requirements.Installieren Sie das Paket tatsächlich mit dem in txt geschriebenen Inhalt.
#Wenn es nicht in der Umgebung installiert ist, wird es installiert. Wenn sich die Version unterscheidet, ist es für die angegebene Version erforderlich..Wenn ein Paket installiert ist, das nicht in txt aufgeführt ist, wird es entfernt.
# --dry-Sie können den Installationsinhalt auch mit der Option run überprüfen
$ pip-sync requirements.txt
#Installation der erforderlichen Pakete(Eigentlich Voraussetzung.Schreiben Sie in und pip-Mit Synchronisierung installieren)
$ pip install pep8 pytest pytest-pep8
# sample.Überprüfen Sie den Codierungsstil von py
$ export PYTHONPATH=. #Erforderlich für die PATH-Prüfung wie den Import
$ py.test --pep8 sample.py
#Geben Sie alle Dateien aus, die gegen die Regeln im aktuellen Verzeichnis verstoßen
$ pep8 . | cut -d: -f 1 | sort | uniq
Verwenden Sie py.test --pep8 sample.py
, um zu überprüfen, ob sample.py den PEP8-Codierungskonventionen entspricht, und um Ihnen mitzuteilen, ob Verstöße vorliegen.
#Installation der erforderlichen Pakete(Eigentlich Voraussetzung.Schreiben Sie in und pip-Mit Synchronisierung installieren)
$ pip install pep8 autopep8
#Modiere den automatisch korrigierten.Ausgabe an py
$ autopep8 sample.py > mod.py
#Automatische Korrektur&Überschreiben
$ autopep8 -i sample.py
#Ändern Sie den Quellcode sofort unter dem aktuellen Verzeichnis
$ pep8 . | cut -d: -f 1 | sort | uniq | xargs autopep8 -i
Recommended Posts