Lassen Sie Python 3.4 mit Docker arbeiten und führen Sie das IPython Notebook aus. Es gibt einige Bibliotheken, die nicht vollständig mit Python 3.4 kompatibel sind, aber die Migration schreitet schrittweise voran, sodass Python 3.4 eine gute Wahl für zukünftiges Schreiben ist. Sie können die Kompatibilität der Bibliothek unter Python 3 Wall of Superpowers überprüfen.
Warum Docker verwenden:
Ich denke, dies ist der Grund, warum IPython Notebook für die Datenanalyse verwendet wird.
Docker-Images für Python und IPython werden auf Docker Hub registriert oder auf Github veröffentlicht. Ich bin der Meinung, dass es noch keine endgültige Ausgabe gibt, daher wäre es schön, einige Dockerfiles zu lesen und zu vergleichen.
Es basiert im Wesentlichen auf Ubuntu, aber die C-Bibliotheken, die davon abhängen, welches Python-Modul Sie verwenden, sind unterschiedlich. Grob gesagt gibt es solche, die numerische Operationen wie * numpy * annehmen, und solche, die Datenbankverbindungen wie PostgreSQL annehmen. Erstens unterscheidet sich die Version von Python auch zwischen der 2. und 3. Serie.
Repository | Python | einfache Erklärung |
---|---|---|
ipython/notebook(DockerHub) | Python 2.x | IPython notebook in a docker container. |
micktwomey/ipython3.4-notebook(DockerHub) | Python3.4 | DockerIPython2.0Notebook(micktwomey/ipython3.4)+Python3.4(micktwomey/python3.4) image |
unfairbanks/docker-ipython-notebook(DockerHub) | Python 2.x | Docker container image capable of running an iPython notebook server |
dckc/ipython-docker(Github) | Python 2.x | docker container for ipython notebook |
crosbymichael/python-docker(Github) | Python 2.x | Dockerfile for python on debian |
mingfang/docker-ipython(Github) | Python 2.x | Run IPython, Pattern, NLTK, Pandas, NumPy, SciPy, Numba, Biopython inside Docker |
Dieses Mal habe ich für meine eigene Studie ein Docker-Image von Hand erstellt und in Docker Hub registriert, um die neueste Version jeder Bibliothek zu verwenden. Wenn Sie es mit einem mit Github verknüpften automatisierten Build erstellen, wird der Image-Build automatisch fortgesetzt, was praktisch ist.
Wenn Sie den Container mit dem angegebenen Image starten, wird das IPython Notebook an Port 8888 gestartet. Mit der Option -p
können Sie die Portnummer angeben, die vom Hostcomputer weitergeleitet werden soll. (Hier wird die Portnummer geändert, damit Sie sehen können, wie Sie sie angeben.)
$ docker run -d -p 8080:8888 skitazaki/python34-ipython
Wenn Sie Dateien für Ihren Host-Computer freigeben möchten, hängen Sie / notebook
ein.
$ docker run -d -p 8080:8888 -v $PWD:/notebook skitazaki/python34-ipython
Wenn Sie mit Ihrem Browser auf Port 8080 zugreifen, können Sie das IPython Notebook verwenden.
Sie können ein neues Notizbuch erstellen, indem Sie auf "Neues Notizbuch" klicken. Sie können sehen, dass * pylab * (* es scheint, dass sich nur * matplotlib * in Zukunft besser verhält) aktiviert ist und * pandas * zum Zeichnen des Diagramms verwendet werden kann.
Beim Booten mit EC2 können Sie Port 80 verfügbar machen oder ihn für das SSH-Tunneling verwenden. Lassen Sie uns die Sicherheitsgruppe und den Offenlegungsbereich gemäß den Zieldaten festlegen.
Nachdem Sie das Notizbuch bearbeitet haben, können Sie es im HTML-Format ausgeben und den Python-Quellcode und den IPython-Notizbuch-Quellcode vom Bildschirm herunterladen. Dies reicht häufig aus, um Datenzusammenfassungen zu überprüfen und Diagramme zu zeichnen, z. B. in Pivot-Tabellen. Mit IPython Notebook können Sie Erklärungen im Markdown-Format hinzufügen. Daher ist die Verwaltung meiner Meinung nach bequemer als nur der Quellcode.
Wenn Sie eine einfache interaktive Shell verwenden möchten, starten Sie den Container wie folgt.
$ docker run -it skitazaki/python34-ipython ipython
Wenn Sie eine zusätzliche Python-Bibliothek installieren möchten, geben Sie im Befehl "/ bin / bash" an und installieren Sie sie mit "pip3 install {LIBNAME}". Nach der Installation können Sie den IPython Notebook-Server mit dem folgenden Befehl starten:
Container
root% ipython-notebook-startup.sh /notebook
Nützliche Bibliotheken für Python sind hier zusammengefasst. Wenn Sie es sich ab und zu ansehen, entdecken Sie möglicherweise etwas Neues.
Bei Verwendung von Docker ist es zweckmäßig, den im Spickzettel geschriebenen Alias festzulegen (wsargent / docker-cheat-sheet). Fügen wir es zu .bashrc
/ .zshrc
usw. hinzu.
.bashrc
alias dl='docker ps -l -q'
Ich denke, die folgenden Artikel sind als Einführung in Docker leicht zu verstehen.
Recommended Posts