pythonモジュール導入問題のまとめ


問題の説明

このとき、start.pyは起動プログラムであり、coreのパケット中のuser_controltransferwithdrawの3つのモジュールファイルを導入している。

しかし、start.pyを実行すると、以下のようなエラーが発生しました。

上の図に示されている問題は、transfer.pyモジュールを導入したuser_controlモジュールでは、モジュールが見つからないということです。
問題の検索user_controltransferは同じカバンの中で、何もしなくても導入できます。user_controlを導入する時もエラーがありません。
その後、私は単独でtransfer.pyファイルを実行しました。エラーがなくて、つまりuser_controlを見つけることができます。
私はstart.pyuser_controlのファイルを比較しましたが、他の同じパケットのファイルを導入していないtransferという点で違いがあります。これは問題があると思います。user_controltransferを注釈してから、再びtransferを運転したら、エラーが発生しません。
問題を見つけましたが、まだ分かりません。なぜですか?import user_controlを実行している間、sys.pathにstart.pyのパケットのパスがないため、start.pyモジュールがcoreに見つからないということですか?transferにおいて、user_controlパケットを導入する前に、start.pyパケットの経路をsys.pathに追加します。
私は再びcoreを運転しましたが、やはりプログラムが間違っていませんでした。coreを実行する場合、start.pyはこの時のsys.pathに従って検索start.pyを行い、この時のsys.pathにはtransferパケットの経路がないため、エラーが発生した。
締め括りをつける
pyファイルを実行すると、この時のpy解釈器は、この時のsys.pathルックアップモジュールに従い、モジュールの中でもこのsys.pathを使用して、自分が導入したモジュールを検索するので、実行したpyファイルが導入したモジュールと、これらのモジュールに導入されたモジュールの経路がsys.pathにあることを確認します。
ここでpythonモジュールの導入問題についてまとめた文章を紹介します。pythonモジュールの導入問題についての分析内容は以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。