入力している import numpy as np
Pythonインタープリターを起動するたびに、ほとんど毎回ていることに気づきました。numpyが自動的にインポートされるようにPythonまたはipythonインタープリターを設定するにはどうすればよいですか?
入力している import numpy as np
Pythonインタープリターを起動するたびに、ほとんど毎回ていることに気づきました。numpyが自動的にインポートされるようにPythonまたはipythonインタープリターを設定するにはどうすればよいですか?
回答:
環境変数PYTHONSTARTUPを使用します。公式ドキュメントから:
これが読み取り可能なファイルの名前である場合、そのファイルのPythonコマンドは、最初のプロンプトが対話モードで表示される前に実行されます。このファイルは、対話型コマンドが実行されるのと同じ名前空間で実行されるため、ファイル内で定義またはインポートされたオブジェクトは、対話型セッションで修飾なしで使用できます。
したがって、importステートメントを使用してPythonスクリプトを作成し、環境変数にそれを指定するだけです。そうは言っても、「明示的は常に暗黙的よりも優れている」ことを忘れないでください。したがって、本番スクリプトではこの動作に依存しないでください。
env PYTHONSTARTUP="~/.startup.py"
がうまくいかなかった
export PYTHONSTARTUP=~/.python_shell_startup.py
変数を設定するためのメモ。
ipythonの場合、これを実現するには2つの方法があります。どちらにも、にあるipythonの設定ディレクトリが含まれ~/.ipython
ます。
~/.ipython/profile_default/startup/
簡単にするために、私はオプション2を使用します。ディレクトリに.py
または.ipy
ファイルを配置するだけで、~/.ipython/profile_default/startup
自動的に実行されます。だからあなたは簡単な場所にすることができますimport numpy as np
、単純なファイルにして、ipythonプロンプトの名前空間にnpを含めることができます。
オプション2は実際にはカスタムプロファイルで機能しますが、カスタムプロファイルを使用すると、特定のケースに基づいて起動要件やその他の構成を変更できます。ただし、常に必要な場合np
利用できるし起動ディレクトリに配置してください。
ipython設定の詳細については。ドキュメントは、より完全な説明があります。
~/.config/ipython/profile_default/startup/
ない~/.ipython/profile_default/startup/
私はこのように〜/ .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はシェルの起動時にそれを使用します。
印刷ステートメントがそこにあるので、シェルを起動すると、それが有効であること、およびすでにインポートされているものがあることを通知します。pp
ショートカットはあまりにも本当に便利です...
~
代わりに$HOME
機能するかどうかはわかりませんが、この相対パスの代わりに、MacOS、fish、python3で絶対パスを使用する必要がありました。
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',
]
受け入れられた答えのより簡単な代替として、Linuxでは:
エイリアスを定義するだけalias pynp='python -i -c"import numpy as np"'
です。たとえば、〜/ .bash_aliasesファイルに入れます。その後、でpython + numpyを呼び出すことができますが、でpython pynp
のみを引き続き使用できますpython
。Pythonスクリプトの動作はそのままです。
PYTHONSTARTUP
対話モードでのみ呼び出されるので、Pythonスクリプトの動作は変更されません。エイリアスは、ファイルを参照して作成することができますalias pynp='PYTHONSTARTUP="~/.startup.py" python'
以下のようravenac95が彼に述べた答えは、どちらのカスタムプロファイルを作成するか、デフォルトのプロファイルを変更することができます。この答えは、import numpy as np
自動的に必要なLinuxコマンドのクイックビューです。
というカスタムプロファイルを使用する場合は、次のコマンドを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
起動ディレクトリがどのように機能するかを理解するために参照してください。