Vereinheitlichung der Python-Umgebung

Ich habe das Verfahren zum Erstellen einer Python-Umgebung von Grund auf zusammengefasst.

Vorkenntnisse für diejenigen, die Javascript verwendet haben

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.

1. Installieren Sie pyenv

Was ist "Pyenv"?

Befehlszeilentool für die Versionsverwaltung von Python selbst

Wie installiert man

(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

2. Setzen Sie pyvenv

Was ist "pyvenv"?

Ein Befehlszeilentool zum Erstellen virtueller Python-Umgebungen. Standardmäßig in Python enthalten

Was ist eine virtuelle Umgebung?

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

So erstellen Sie eine virtuelle Umgebung

#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

3. Paketverwaltung

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.

Schreiben Sie das gewünschte Paket in 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

Installieren Sie tatsächlich den Inhalt in "Anforderungen.in".

#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

4. Vereinheitlichung des Codierungsstils

#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.

So beheben Sie automatisch die Einhaltung von PEP8

#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

Vereinheitlichung der Python-Umgebung
Umgebungskonstruktion von Python2 & 3 (OSX)
Umgebungskonstruktion von Python und OpenCV
Erstellen einer Umgebung für Python3.8 auf einem Mac
Python-Umgebungseinstellungen
Python Windows-Umgebung
Umgebungskonstruktion (Python)
Python-Grundlagen ①
Grundlagen von Python ①
Python-Umgebungskonstruktion
Kopie von Python
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
Einführung von Python
Informationen zur virtuellen Umgebung von Python Version 3.7
[Python] Operation der Aufzählung
Liste der Python-Module
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
Kopie der Python-Einstellungen
Grundlagen der Python-Scraping-Grundlagen
Homebrew Python Umgebung Konstruktion
[Python] Verhalten von Argmax
Erstellen Sie eine Umgebung mit 64-Bit-Windows + Python 2.7 + MeCab 0.996
Aufbau einer Python-Entwicklungsumgebung
Verwendung von Python-Einheimischen ()
der Zen von Python
Verwenden Sie mit pyenv mehrere Versionen der Python-Umgebung
Python Virtual Environment Pipenv
Installation von Python 3 und Flask [Zusammenfassung der Umgebungskonstruktion]
Installieren von Python 3.3 rc1
Informationen zur Python-Entwicklungsumgebung
Poetry-Virtualenv-Umgebungskonstruktion mit Centos-Sclo-Rh-Python ~ Hinweise
virtuelle Umgebung in Python
Python-Entwicklungsumgebung - Verwendung von Pyenv und Virtualenv-
Python-Umgebung mit Docker-Compose
# 4 [Python] Grundlagen der Funktionen
python2.7 Konstruktion der Entwicklungsumgebung
Grundkenntnisse in Python
Nüchterne Trivia von Python3
Zusammenfassung der Python-Argumente
Erstellen Sie eine Python-Umgebung
Entwicklungsumgebung in Python
Grundlagen von Python: Ausgabe
Installation von matplotlib (Python 3.3.2)
Anwendung von Python 3 vars
Virtuelle Umgebung mit Python 3.6
Python-Umgebungskonstruktion @ Win7
Verschiedene Verarbeitung von Python
Vergleich von Python und Ruby (Environment / Grammar / Literal Edition)
Wartung der Python-Umgebung für Projekte
Betreiben Sie mongoDB von Python in einer Ubuntu-Umgebung. ① Einführung von mongoDB
Empfehlung zum Erstellen einer tragbaren Python-Umgebung mit conda
Zusammenfassung der Python-Umgebungseinstellungen für mich [mac] [ubuntu]
Laufzeitversion der Google App Engine / Python-Standardumgebung