import numpy as np
Pythonインタープリターを起動するたびに、ほとんど毎回入力していることに気づきます。numpy が自動的にインポートされるように python または ipython インタープリターを設定するにはどうすればよいですか?
9 に答える
ipythonの場合、これを実現するには2つの方法があります。どちらも、にあるipythonの構成ディレクトリを含みます~/.ipython
。
- カスタムipythonプロファイルを作成します。
- または、スタートアップファイルをに追加できます
~/.ipython/profile_default/startup/
簡単にするために、オプション2を使用します。ディレクトリに.py
または.ipy
ファイルを配置するだけで、~/.ipython/profile_default/startup
自動的に実行されます。したがってimport numpy as np
、単純なファイルに単純に配置すると、ipythonプロンプトの名前空間にnpが含まれるようになります。
オプション2は実際にはカスタムプロファイルで機能しますが、カスタムプロファイルを使用すると、特定のケースに基づいて起動要件やその他の構成を変更できます。ただし、いつでも利用できるようにしたい場合は、必ずnp
スタートアップディレクトリに配置してください。
ipython構成の詳細については。ドキュメントには、はるかに完全な説明があります。
環境変数PYTHONSTARTUPを使用します。公式ドキュメントから:
これが読み取り可能なファイルの名前である場合、最初のプロンプトがインタラクティブモードで表示される前に、そのファイル内のPythonコマンドが実行されます。ファイルは、インタラクティブコマンドが実行されるのと同じ名前空間で実行されるため、ファイルで定義またはインポートされたオブジェクトは、インタラクティブセッションで修飾なしで使用できます。
したがって、importステートメントを使用してPythonスクリプトを作成し、環境変数をそのスクリプトにポイントするだけです。そうは言っても、「明示的は暗黙的よりも常に優れている」ことを忘れないでください。したがって、本番スクリプトではこの動作に依存しないでください。
Ipythonについては、ipython_configファイルの作成方法に関するこのチュートリアルを参照してください。
~/.startup.py ファイルを次のように使用します。
# Ned's .startup.py file
print("(.startup.py)")
import datetime, os, pprint, re, sys, time
print("(imported datetime, os, pprint, re, sys, time)")
pp = pprint.pprint
次に、PYTHONSTARTUP=~/.startup.py を定義すると、Python はシェルの起動時にそれを使用します。
print ステートメントがあるので、シェルを起動すると、シェルが有効であり、何が既にインポートされているかを確認できます。ショートカットpp
もかなり便利…
ravenac95 が示唆するようなカスタム起動スクリプトを作成することは、ほとんどの場合に最適な一般的な答えですが、from __future__ import X
. Python 2.x で作業することがあるが、最新の除算を使用したい場合、これを行う方法は 1 つしかありません。プロファイルを作成したら、profile_default
(Ubuntu の場合は にあります) を編集し~/.ipython/profile_default
、次のような内容を一番下に追加します。
c.InteractiveShellApp.exec_lines = [
'from __future__ import division, print_function',
'import numpy as np',
'import matplotlib.pyplot as plt',
]
ravenac95が彼の回答で述べたように、カスタム プロファイルを作成するか、デフォルト プロファイルを変更することができます。この回答は、自動的に必要な Linux コマンドの概要です。import numpy as np
というカスタム プロファイルを使用する場合は、次numpy
を実行します。
ipython profile create numpy
echo 'import numpy as np' >> $(ipython locate profile numpy)/startup/00_imports.py
ipython --profile=numpy
または、常に numpy をインポートするようにデフォルトのプロファイルを変更する場合:
echo 'import numpy as np' >> $(ipython locate profile default)/startup/00_imports.py
ipython
プロファイルの構成について詳しくは、IPython 構成チュートリアルをご覧ください。.ipython/profile_default/startup/README
起動ディレクトリの仕組みを理解するには、を参照してください。
私のデフォルトのipython
呼び出しは
ipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False
--pylab
しばらくの間、ipython
オプションでした。numpy
と (の一部) をインポートしmatplotlib
ます。私は明示的に使用することを好むので--Inter...
、インポートを使用しないようにオプションを追加しました。*
np....
これは、ショートカット、エイリアス、またはスクリプトにすることができます。