135

import numpy as npPythonインタープリターを起動するたびに、ほとんど毎回入力していることに気づきます。numpy が自動的にインポートされるように python または ipython インタープリターを設定するにはどうすればよいですか?

4

9 に答える 9

86

ipythonの場合、これを実現するには2つの方法があります。どちらも、にあるipythonの構成ディレクトリを含みます~/.ipython

  1. カスタムipythonプロファイルを作成します。
  2. または、スタートアップファイルをに追加できます~/.ipython/profile_default/startup/

簡単にするために、オプション2を使用します。ディレクトリに.pyまたは.ipyファイルを配置するだけで、~/.ipython/profile_default/startup自動的に実行されます。したがってimport numpy as np、単純なファイルに単純に配置すると、ipythonプロンプトの名前空間にnpが含まれるようになります。

オプション2は実際にはカスタムプロファイルで機能しますが、カスタムプロファイルを使用すると、特定のケースに基づいて起動要件やその他の構成を変更できます。ただし、いつでも利用できるようにしたい場合は、必ずnpスタートアップディレクトリに配置してください。

ipython構成の詳細については。ドキュメントには、はるかに完全な説明があります。

于 2012-06-20T17:22:38.517 に答える
84

環境変数PYTHONSTARTUPを使用します。公式ドキュメントから:

これが読み取り可能なファイルの名前である場合、最初のプロンプトがインタラクティブモードで表示される前に、そのファイル内のPythonコマンドが実行されます。ファイルは、インタラクティブコマンドが実行されるのと同じ名前空間で実行されるため、ファイルで定義またはインポートされたオブジェクトは、インタラクティブセッションで修飾なしで使用できます。

したがって、importステートメントを使用してPythonスクリプトを作成し、環境変数をそのスクリプトにポイントするだけです。そうは言っても、「明示的は暗黙的よりも常に優れている」ことを忘れないでください。したがって、本番スクリプトではこの動作に依存しないでください。

Ipythonについては、ipython_configファイルの作成方法に関するこのチュートリアルを参照してください。

于 2012-06-20T17:07:08.950 に答える
23

~/.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もかなり便利…

于 2012-06-20T17:37:54.783 に答える
7

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',
    ]
于 2016-12-27T22:18:06.790 に答える
1

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起動ディレクトリの仕組みを理解するには、を参照してください。

于 2015-10-24T15:20:55.827 に答える
1

私のデフォルトのipython呼び出しは

ipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False

--pylabしばらくの間、ipythonオプションでした。numpyと (の一部) をインポートしmatplotlibます。私は明示的に使用することを好むので--Inter...、インポートを使用しないようにオプションを追加しました。*np....

これは、ショートカット、エイリアス、またはスクリプトにすることができます。

于 2015-10-24T21:16:14.143 に答える