参考
Pythonでインポートするモジュール検索シーケンスの詳細説明(Pythonインポート検索モジュールの仕組みの詳細説明):https://blog.csdn.net/qq_27825451/article/details/100552739
import sys
sys.path
'''返回的列表为:
['', # 运行程序的根目录
'D:\\ProgramData\\Anaconda3\\envs\\pytorch1.2.0\\python36.zip', # 这几个是python标准库目录
'D:\\ProgramData\\Anaconda3\\envs\\pytorch1.2.0\\DLLs',
'D:\\ProgramData\\Anaconda3\\envs\\pytorch1.2.0\\lib',
'D:\\ProgramData\\Anaconda3\\envs\\pytorch1.2.0',
'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python36\\site-packages',
'D:\\ProgramData\\Anaconda3\\envs\\pytorch1.2.0\\lib\\site-packages' # 最后面这个是第三方模块所在的目录
]
'''
'''
# 注意:这里是没有设置PYTHONPATH 环境变量的路径值的,也没有创建.pth文件
'''
Python では、組み込みモジュール (Built-in Module) は、Python インストール パッケージに付属するモジュールのセットを指します。これらのモジュールは、さまざまな Python プログラム開発で広く使用できる基本的な汎用機能とツールを提供します。文字列操作、ファイル IO、数学的計算、正規表現、日付と時刻の処理、ネットワーク通信など。組み込みモジュールは、Python インタープリターの起動時にメモリにロードされ、インストールやインポートを行わずに直接使用できます。
Python の組み込みモジュールの数は非常に多く、最も一般的に使用されるモジュールはコア モジュールとして分類されます (一般的に使用されるモジュールには、math、sys、os、re、json、random などが含まれます)。また、一般的に使用されるモジュールもいくつかあります。標準ライブラリ モジュール (一般的に使用されるのは、datetime、コレクション、itertools、argparse、logging など) は標準モジュールであり、これらの標準モジュールはすべて Python インストール パッケージに含まれています。
組み込みモジュールを使用する場合は、最初にインストールまたはインポートせずに、Python インタープリターまたは Python プログラムで直接呼び出すだけで済みます。たとえば、組み込みモジュール math を使用して数学的計算を実行するには、Python を入力するだけで済みます。
import math
print(math.sqrt(2))
この例では、組み込みモジュールmath
の関数を使用しsqrt()
て 2 の平方根を求めます。Python プログラムに他のインポートは必要なく、数学モジュールを直接呼び出すだけです。
要約:
Python がモジュールを検索する順序は次のとおりです。
内蔵モジュール>
プログラムのルート ディレクトリ (つまり、Python ファイルが現在実行されているディレクトリ) >
PYTHONPATH 環境変数で設定されたディレクトリ >
標準ライブラリのディレクトリ >
見つかった *.pth ファイルの内容>
サードパーティ拡張機能のサイト パッケージ ディレクトリ
Pythonコードでパンをインポートする順序は何ですか
Python コードでパッケージをインポートする順序は何ですか? 現在のディレクトリに同じ名前のパッケージがある場合、現在のディレクトリにあるパッケージを最初にインポートする必要がありますか、それとも仮想環境から直接インポートする必要がありますか?
Python では、パッケージは のsys.path
パスリストの順序でインポートされます。sys.path
は、Python プログラムの実行時のデフォルトの検索パスであり、次のパスが含まれます。
- 現在のスクリプトが配置されているディレクトリ
- オペレーティング システムの環境変数
PYTHONPATH
に含まれるパス - Python インストール パスの下の標準ライブラリ パス (通常は
/usr/lib/python3.7/
または内/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/
) - Python 検索パスで定義されたサードパーティ ライブラリ パス
Python プログラムにパッケージをインポートすると、Python は最初に表示されるパッケージ バージョンが見つかるまで、上記のパス リストに従って順番にパッケージを検索し、それ以降の検索ではそのパッケージは自動的に無視されます。したがって、現在のディレクトリに同じ名前のパッケージがあり、そのパスがsys.path
の仮想環境のパスの前にある場合、Python はまず現在のディレクトリでパッケージを検索し、パッケージの代わりにその中のモジュールをインポートします。仮想環境で。
Python が仮想環境にパッケージを確実にインポートするようにするには、プログラムの先頭で仮想環境のパスを明示的に指定します。たとえば、次のようになります。
import sys
sys.path.insert(0, '/path/to/virtual/env')
このようにして、仮想環境のパスをsys.path
リストの先頭に追加して、Python が仮想環境にパッケージを確実にインポートできるようにします。