Ich tippe import numpy as np
fast jedes Mal, wenn ich den Python-Interpreter starte. Wie richte ich den Python- oder Ipython-Interpreter so ein, dass numpy automatisch importiert wird?
Verwenden Sie die Umgebungsvariable PYTHONSTARTUP . Aus der offiziellen Dokumentation:
Wenn dies der Name einer lesbaren Datei ist, werden die Python-Befehle in dieser Datei ausgeführt, bevor die erste Eingabeaufforderung im interaktiven Modus angezeigt wird. Die Datei wird in demselben Namespace ausgeführt, in dem interaktive Befehle ausgeführt werden, sodass darin definierte oder importierte Objekte ohne Einschränkung in der interaktiven Sitzung verwendet werden können.
Erstellen Sie einfach ein Python-Skript mit der import-Anweisung und zeigen Sie mit der Umgebungsvariablen darauf. Denken Sie jedoch daran, dass "Explizit immer besser als implizit ist". Verlassen Sie sich daher bei Produktionsskripten nicht auf dieses Verhalten.
Informationen zu Ipython finden Sie in diesem Tutorial zum Erstellen einer ipython_config-Datei
env PYTHONSTARTUP="~/.startup.py"
hat bei mir nicht funktioniertexport PYTHONSTARTUP=~/.python_shell_startup.py
zum Einstellen der Variablen.Für Ipython gibt es zwei Möglichkeiten, dies zu erreichen. Bei beiden handelt es sich um das Konfigurationsverzeichnis von ipython, das sich in befindet
~/.ipython
.~/.ipython/profile_default/startup/
Der Einfachheit halber würde ich Option 2 verwenden. Alles, was Sie tun müssen, ist, eine
.py
oder.ipy
-Datei in das~/.ipython/profile_default/startup
Verzeichnis zu legen, und sie wird automatisch ausgeführt. Sie können also einfachimport numpy as np
in eine einfache Datei einfügen und haben np im Namespace Ihrer ipython-Eingabeaufforderung.Option 2 funktioniert tatsächlich mit einem benutzerdefinierten Profil. Wenn Sie jedoch ein benutzerdefiniertes Profil verwenden, können Sie die Startanforderungen und andere Konfigurationen basierend auf einem bestimmten Fall ändern. Allerdings, wenn Sie würde immer wie
np
Sie dann zur Verfügung steht mit allen Mitteln es im Startverzeichnis gesetzt.Weitere Informationen zur Ipython-Konfiguration. Die Dokumente haben eine viel vollständigere Erklärung.
quelle
~/.config/ipython/profile_default/startup/
und nicht~/.ipython/profile_default/startup/
Ich benutze eine ~ / .startup.py-Datei wie folgt:
Definieren Sie dann PYTHONSTARTUP = ~ / .startup.py, und Python verwendet es beim Starten einer Shell.
Die print-Anweisungen sind vorhanden. Wenn ich die Shell starte, werde ich daran erinnert, dass sie wirksam ist und was bereits importiert wurde. Die
pp
Verknüpfung ist auch sehr praktisch ...quelle
~
als Ersatz für$HOME
Werke funktioniert oder nicht, aber anstelle dieses relativen Pfades musste ich unter MacOS, fish und python3 einen absoluten Pfad verwenden.Während das Erstellen eines benutzerdefinierten Startskripts , wie es ravenac95 vorschlägt, in den meisten Fällen die beste allgemeine Antwort ist, funktioniert es unter Umständen nicht, unter denen Sie a verwenden möchten
from __future__ import X
. Wenn Sie manchmal in Python 2.x arbeiten, aber die moderne Division verwenden möchten, gibt es nur einen Weg, dies zu tun. Wenn Sie ein Profil erstellt haben, bearbeiten Sie dasprofile_default
(für Ubuntu befindet es sich in~/.ipython/profile_default
) und fügen Sie unten Folgendes hinzu:quelle
Als einfachere Alternative zur akzeptierten Antwort unter Linux:
Definieren Sie einfach einen Alias, z. B.
alias pynp='python -i -c"import numpy as np"'
in Ihre ~ / .bash_aliases-Datei. Sie können dann Python + Numpy mit aufrufenpynp
und weiterhin nur Python mit verwendenpython
. Das Verhalten von Python-Skripten bleibt unberührt.quelle
PYTHONSTARTUP
wird nur im interaktiven Modus aufgerufen , sodass das Verhalten von Python-Skripten sowieso unberührt bleibt. Ein Alias könnte auch mit einem Dateiverweis erstellt werden:alias pynp='PYTHONSTARTUP="~/.startup.py" python'
Sie können einen normalen Python - Skript erstellen , wie
import_numpy.py
oder was Sie wollenStarten Sie es dann mit der
-i
Flagge.python -i import_numpy.py
Auf diese Weise können Sie flexibel nur Module auswählen, die Sie für verschiedene Projekte benötigen.
quelle
Wie ravenac95 in seiner genannten Antwort , können Sie entweder ein eigenes Profil erstellen oder das Standardprofil ändern. Diese Antwort ist eine Schnellansicht der Linux-Befehle, die
import numpy as np
automatisch benötigt werden.Wenn Sie ein benutzerdefiniertes Profil mit dem Namen verwenden möchten, führen Sie Folgendes
numpy
aus:Oder wenn Sie das Standardprofil so ändern möchten, dass immer numpy importiert wird:
Weitere Informationen zum Konfigurieren von Profilen finden Sie im IPython-Konfigurations-Tutorial . Sehen Sie, um
.ipython/profile_default/startup/README
zu verstehen, wie das Startverzeichnis funktioniert.quelle
Mein Standardaufruf
ipython
ist--pylab
ist seitipython
einiger Zeit eine Option. Es importiertnumpy
und (Teile von)matplotlib
. Ich habe die--Inter...
Option hinzugefügt, damit der*
Import nicht verwendet wird , da ich lieber die explizite Option verwendenp....
.Dies kann eine Verknüpfung, ein Alias oder ein Skript sein.
quelle