web-dev-qa-db-ja.com

pythonまたはipythonインタープリターを入力すると、モジュールを自動的にインポートします

pythonインタープリターを起動するたびにimport numpy as npと入力することに気づきます。pythonまたはipythonインタープリターをnumpyは自動的にインポートされますか?

108
user545424

環境変数 [〜#〜] pythonstartup [〜#〜] を使用します。公式文書から:

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

そのため、importステートメントでpythonスクリプトを作成し、環境変数を指すようにします。「明示的は常に暗黙的よりも優れている」ということを忘れないでください。実動スクリプトの動作。

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

58
Dhara

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のようにalwaysを使用できるようにする場合は、必ずスタートアップディレクトリに配置してください。

Ipython構成の詳細については。 docs には、より完全な説明があります。

70
ravenac95

次のように〜/ .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ショートカットも本当に便利です...

21
Ned Batchelder

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',
    ]
4
Teque5

受け入れられた答えのより簡単な代替として、Linuxで:

エイリアスを定義するだけです。 put alias pynp='python -i -c"import numpy as np"'〜/ .bash_aliasesファイル内。その後、pynpを使用してpython + numpyを起動し、引き続きpython with pythonを使用できます。Pythonスクリプト'動作は変更されません。

3
blue

通常のpythonスクリプトをimport_numpy.pyまたは好きなものとして作成できます

#!/bin/env python3
import numpy as np

-iフラグで起動します。

python -i import_numpy.py

このようにすると、さまざまなプロジェクトに必要なモジュールのみを選択できる柔軟性が得られます。

2
rɑːdʒɑ

ravenac95answer で言及されているように、カスタムプロファイルを作成するか、デフォルトプロファイルを変更できます。この答えは、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スタートアップディレクトリの仕組みを理解します。

1
anishpatel

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

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

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

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

1
hpaulj