pythonインタープリターを起動するたびにimport numpy as np
と入力することに気づきます。pythonまたはipythonインタープリターをnumpyは自動的にインポートされますか?
環境変数 [〜#〜] pythonstartup [〜#〜] を使用します。公式文書から:
これが読み取り可能なファイルの名前である場合、最初のプロンプトがインタラクティブモードで表示される前に、そのファイル内のPythonコマンドが実行されます。ファイルは、インタラクティブコマンドが実行されるのと同じネームスペースで実行されますその中で定義またはインポートされたオブジェクトは、インタラクティブセッションで無条件で使用できます。
そのため、importステートメントでpythonスクリプトを作成し、環境変数を指すようにします。「明示的は常に暗黙的よりも優れている」ということを忘れないでください。実動スクリプトの動作。
Ipythonについては、ipython_configファイルの作成方法に関する this チュートリアルを参照してください
Ipythonの場合、これを達成するには2つの方法があります。どちらも~/.ipython
にあるipythonの設定ディレクトリに関係しています。
~/.ipython/profile_default/startup/
にスタートアップファイルを追加できます簡単にするために、オプション2を使用します。.py
または.ipy
ファイルを~/.ipython/profile_default/startup
ディレクトリに配置するだけで、自動的に実行されます。したがって、単純なファイルにimport numpy as np
を簡単に配置でき、ipythonプロンプトのネームスペースにnpがあります。
オプション2は実際にはカスタムプロファイルで機能しますが、カスタムプロファイルを使用すると、特定のケースに基づいて起動要件やその他の構成を変更できます。ただし、np
のようにalwaysを使用できるようにする場合は、必ずスタートアップディレクトリに配置してください。
Ipython構成の詳細については。 docs には、より完全な説明があります。
次のように〜/ .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
ショートカットも本当に便利です...
ravenac95suggests のようなカスタムスタートアップスクリプトを作成することは、ほとんどの場合に最適な一般的な答えですが、from __future__ import X
を使用する状況では機能しません。 。時々Python 2.xで作業しているが、最新の除算を使用したい場合、これを行う方法は1つしかありません。プロファイルを作成したら、profile_default
これは~/.ipython/profile_default
)にあり、次のようなものを下部に追加します。
c.InteractiveShellApp.exec_lines = [
'from __future__ import division, print_function',
'import numpy as np',
'import matplotlib.pyplot as plt',
]
受け入れられた答えのより簡単な代替として、Linuxで:
エイリアスを定義するだけです。 put alias pynp='python -i -c"import numpy as np"'
〜/ .bash_aliasesファイル内。その後、pynp
を使用してpython + numpyを起動し、引き続きpython with python
を使用できます。Pythonスクリプト'動作は変更されません。
通常のpythonスクリプトをimport_numpy.py
または好きなものとして作成できます
#!/bin/env python3
import numpy as np
-i
フラグで起動します。
python -i import_numpy.py
このようにすると、さまざまなプロジェクトに必要なモジュールのみを選択できる柔軟性が得られます。
ravenac95 の answer で言及されているように、カスタムプロファイルを作成するか、デフォルトプロファイルを変更できます。この答えは、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 config tutorial をチェックして、プロファイルの構成に関する詳細を読んでください。見る .ipython/profile_default/startup/README
スタートアップディレクトリの仕組みを理解します。
デフォルトのipython
呼び出しは
ipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False
--pylab
はしばらくの間ipython
オプションでした。 numpy
および(の一部)matplotlib
をインポートします。 --Inter...
オプションを追加したので、*
インポートを使用しません。明示的なnp....
を使用することを好みます。
これは、ショートカット、エイリアス、またはスクリプトにすることができます。