Pythonライブラリパス
-
22-07-2019 - |
質問
Pythonファイル" testHTTPAuth.py"がありますモジュールdeliciousapiを使用し、" deliciousapi.py"に保持されます。
次のようなファイルを保存しました
testHTTPAuth.py
lib
deliciousapi.py
しかし、実行すると:" python testHTTPAuth.py"エラーが発生しています
import deliciousapi
ImportError: No module named deliciousapi
これらのPythonライブラリをどのように処理できますか?後で、コードをライブラリとGoogleアプリとして組み合わせたためです。そのため、ライブラリを通常のライブラリパスに保持できません。
解決
「lib」ディレクトリをパスに追加する必要があります。追加しないと、Pythonはソースを見つけることができません。次のコード(testHTTPAuth.pyなどのモジュールに含まれています)がそれを行います:
sys.path.append(os.path.join(os.path.dirname(__file__), 'lib')
インポートを変更するというNedの提案は機能するかもしれませんが、libディレクトリ内の何かが絶対パスを持つサブモジュールをインポートすると(ほとんどの大きなモジュールがこれを行う)、それは壊れます。
他のヒント
空の __ init __。py
をlibディレクトリに追加する場合、インポートステートメントを次のように変更できます。
from lib import deliciousapi
所属していません StackOverflow