Ab Anfang 2018 wird Pipenv empfohlen. Ich habe festgestellt, dass die Anzahl der Bibliotheken, die Binärdateien für Windows bereitstellen, erheblich zugenommen hat, sodass Sie ohne die Verwendung von (Mini | Ana) Conda keine Probleme haben sollten.
Wenn ich heutzutage von der Python-Entwicklungsumgebung spreche, denke ich, dass die folgenden Muster der Mainstream sind.
Sobald Sie bereit sind, haben Sie eine flexible Umgebung, aber es gibt viele Schritte und Sie müssen viele andere Dinge als Python bereitstellen. Einige sind auch unter Windows schwer bereitzustellen. Also habe ich ein reines Python-Paket erstellt, das es ein wenig einfacher macht, die virtuelle Umgebung für jedes Projekt zu handhaben.
Ursprünglich war das Ideal, dass es einfach einzurichten war und einfach durch Ausführen von "python hoge.py" wie bei der normalen Skriptausführung die dedizierte virtuelle Umgebung aktiviert und die erforderlichen Pakete eingeschlossen wurden. Das Skript sollte gestartet werden. Einfach ausgedrückt, das Paket, das dies erreicht, ist der diesmal erstellte "vebootstrap".
vebootstrap https://pypi.python.org/pypi/vebootstrap https://github.com/tomoemon/vebootstrap
Das interessiert mich nicht wirklich, weil ich beim Schreiben eines kleinen persönlichen Skripts nicht so oft zwischen Python-Versionen wechsle (ich sollte es bei Bedarf in Kombination mit Python usw. verwenden können).
vebootstrap
installiert wird)Installieren Sie vebootstrap mit dem Pip, der dem Python entspricht, den Sie verwenden möchten. Wenn Sie den Systemstandard Python in einer Linux-Umgebung verwenden, benötigen Sie sudo.
$ pip install vebootstrap
Bitte ändern Sie den folgenden Verzeichnisnamen und den Namen der Skriptdatei entsprechend. Ändern Sie jedoch nicht "require.txt", da vebootstrap nach einer Datei mit diesem Namen sucht. Im Beispiel wird es auch nach "cd" im Projektverzeichnis ausgeführt, aber das Verhalten ist das gleiche, auch wenn es von außerhalb des Verzeichnisses ausgeführt wird.
** Einfachstes Muster **
Verzeichnisaufbau
project_test1/
hoge.py
hoge.py
import vebootstrap
print("Hello vebootstrap")
Befehlsausführung
$ cd project_test1
$ python hoge.py
Wenn Sie "import vebootstrap" am Anfang von "hoge.py", dem Hauptskript, einfügen und starten, wird es beim ersten Start im Verzeichnis "project_test1" als ".py ##" ("##" ist die Python-Version) bezeichnet. Erstellen Sie ein Verzeichnis für die virtualenv-Umgebung. Führen Sie danach "hoge.py" mit aktivierter Umgebung "virtualenv" aus und aktivieren und führen Sie die vorhandene ".py ##" beim zweiten und nachfolgenden Start aus.
** Wenn es abhängige Pakete gibt **
Verzeichnisaufbau
project_test2/
hoge.py
requirements.txt
hoge.py
import vebootstrap
import requests
print(requests.get('http://yahoo.co.jp').text[:100])
requirements.txt
requests
Befehlsausführung
$ cd project_test2
$ python hoge.py
Gleiches gilt für das Erstellen eines Verzeichnisses für die virtualenv-Umgebung beim ersten Start von "hoge.py" und das anschließende "pip install" zum "pip install" der abhängigen Pakete. Aktivieren Sie dann die virtualenv-Umgebung und führen Sie "hoge.py" aus. Wenn Sie require.txt
neu schreiben, erstellen Sie die virtualenv-Umgebung beim nächsten Start neu. (Da es schwierig sein kann, einzelne Pakete zu deinstallieren, haben wir solche Spezifikationen erstellt.)
** (nur Windows) Wenn Sie ein Binärpaket für Windows installieren möchten **
Für Windows-Benutzer ist es ziemlich schwierig, Pakete zu installieren, für die ein eigener Build erforderlich ist, z. B. "numpy" und "lxml". Sie müssen ein vorgefertigtes Paket finden und es manuell mit etwas anderem als pip (PyPI) installieren, aber vebootstrap macht dies einfach.
Insbesondere versuche ich, das Zielpaket von der folgenden Site zu finden und zu installieren. http://www.lfd.uci.edu/~gohlke/pythonlibs/
Verzeichnisaufbau
project_test3/
hoge.py
requirements.txt
hoge.py
import vebootstrap
import numpy
print(dir(numpy))
requirements.txt
#windows:numpy
Befehlsausführung
$ cd project_test3
$ python hoge.py
Die Verwendung ist fast die gleiche wie zuvor, aber die Beschreibung von require.txt
ist etwas Besonderes. Wenn es eine Zeile der Form "# windows: hogehoge" gibt, sucht vebootstrap nach dem "hogehoge" -Paket von der vorherigen Site. Bei pip werden Zeilen, die mit "#" beginnen, als Kommentare behandelt, sodass dies nur von vebootstrap interpretiert wird.
Sie können auch die Pakete installieren, die von pip standard und den Binärdateien für Windows installiert werden, wie unten gezeigt.
requirements.txt
requests
#windows:numpy
beautifulsoup4
Ich weiß nicht, welches Paket Sie auf diese spezielle Weise vorgefertigt installieren müssen! Wenn ja, sollten Sie zuerst wie gewohnt hogehoge
und require.txt
schreiben. Wenn Sie einen unklaren Fehler erhalten, schreiben Sie # windows: hogehoge
.
** Wenn Sie keine irrelevanten Importanweisungen einfügen möchten **
import vebootstrap
ist die minimale Magie, um die virtualenv-Umgebung nur durch Ausführen von Python zu aktivieren. Es ist jedoch möglicherweise nicht erforderlich, wenn Sie ein Skript schreiben, um es der Außenwelt zugänglich zu machen. Verwenden Sie in diesem Fall die Funktion, um das Modul wie unten gezeigt als Skript auszuführen. Es verhält sich genauso wie beim Einfügen einer Importanweisung.
Verzeichnisaufbau
project_test4/
hoge.py
requirements.txt
hoge.py
import requests
print(requests.get('http://yahoo.co.jp').text[:100])
requirements.txt
requests
Befehlsausführung
$ cd project_test4
$ python -m vebootstrap hoge.py
** Wenn es mühsam ist, jedes Mal abhängige Pakete für die meisten Projekte zu schreiben **
Wenn Sie häufig Projekte erstellen und jedes Mal eine ähnliche require.txt
schreiben, versuchen Sie, die folgenden Funktionen zu verwenden.
Wenn Sie vebootstrap auch nur einmal verwenden, wird eine Konfigurationsdatei mit dem Namen ".vebootstrap" in Ihrem Home-Verzeichnis erstellt ("cd% USERPROFILE%" für Windows-Benutzer).
$HOME/.vebootstrap
{
"default_packages": [
"ipython"
],
"default_windows_packages": []
}
Diese Datei gibt die Pakete an, die in allen Projekten installiert werden sollen, unabhängig vom Inhalt von "require.txt". Standardmäßig ist das "ipython" -Paket installiert, damit die REPL der entsprechenden virtuellen Umgebung sofort verwendet werden kann. Fügen Sie nach Bedarf weitere Pakete hinzu. Fügen Sie Windows-Binärdateien in der Form "numpy" zu "default_windows_packages" hinzu, und sie werden automatisch installiert.
Beispiel beim Hinzufügen einiger
$HOME/.vebootstrap
{
"default_packages": [
"ipython",
"requests"
],
"default_windows_packages": [
"numpy"
]
}
Beachten Sie, dass die virtualenv-Umgebung für jede von Ihnen ausgeführte Python-Version erstellt wird. Wenn Sie den folgenden Befehl eingeben, z. B. wenn die Version von "Python" 2.7.x ist, erstellen Sie eine virtuelle Umgebung mit dem Namen ".py27" (die darin kopierte ausführbare Python-Datei ist 2.7.x). Dinge).
$ python hoge.py
Wenn Sie den folgenden Befehl im selben Verzeichnis ausführen, wird eine virtuelle Umgebung mit dem Namen ".py35" erstellt. (Wenn die Version von python3
3.5.x ist)
$ python3 hoge.py
Da meine Hauptumgebung Windows ist, kann es für Linux-Hauptleute schwierig sein, es zu verwenden. Bitte weisen Sie darauf hin, wenn Sie sagen "es kann in solchen Fällen nicht verwendet werden".
Und obwohl der Paketname "vebootstrap" persönlich etwas lang (und etwas schwer zu tippen) ist, wurden sowohl "ve" als auch "veb" bereits übernommen ...
Recommended Posts