別の状況として、モジュールのインポートについて、モジュールがインストールしたPythonディレクトリの下にない場合、または指定したディレクトリ内にない場合は、この時点でこのモジュールのインポートパスを設定する必要があります。
# 模块文件 pymod.py
print("pymod")
.pyモジュールを他のディレクトリに直接インポートすると、エラーが報告されます。
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-3-d5d860c13b8b> in <module>
----> 1 import pymod
ModuleNotFoundError: No module named 'pymod'
Pythonの検索パスをそれに変更する必要があります。システムモジュールsysを介して、このモジュールを介して、Pythonスクリプト実行のパスだけでなく、ライブラリのロードパスも取得できます。
# import pymod # ModuleNotFoundError: No module named 'pymod'
# 系统模块
import sys
print(sys.path)
コードを実行すると、sys.pathがリストであり、検索パス全体が格納されていることがわかります。左から右に向かって、左側が最高の優先度であり、最高の優先度がソースコードが配置されているパスである可能性があります。これは、Pythonのインストールパス、Python実行ファイル全体が配置されているライブラリパス、および作成した仮想環境であり、将来実行する拡張ライブラリパスも含まれます。
では、独自のパスを追加したい場合はどうすればよいでしょうか。
# 系统模块
import sys
# print(sys.path)
# 添加模块的查找路径,包的查找路径和模块的是一致的
sys.path.insert(0, "../common/pymod/")
import pymod
pymod.pymod_func()