python GUIアプリケーションがあります。次に、アプリケーションがリンクするすべてのライブラリを知る必要があります。すべてのライブラリのライセンスの互換性を確認できるようにするためです。
Straceを使用してみましたが、アプリケーションで使用されていない場合でも、straceはすべてのパッケージを報告しているようです。
そして、私はpython ModuleFinderを試しましたが、リンクされているシステムレベルのパッケージではなく、python2.7内にあるモジュールを返すだけです。
アプリケーションからリンクされているすべてのライブラリを取得する方法はありますか?
ライブラリを試すことができます https://github.com/bndr/pipreqs ガイドに従ってください https://www.fullstackpython.com/application-dependencies.html
ライブラリpipreqsはpipでインストール可能で、自動的にファイルrequirements.txtを生成します。これには、virtualenvまたはpythonで正しくインストールされているバージョンで使用するすべてのインポートライブラリが含まれています。
入力するだけです:
pip install pipreqs
pipreqs /home/project/location
印刷されます:
INFO: Successfully saved requirements file in /home/project/location/requirements.txt
さらに、pip install -rコマンドと互換性があります。プロジェクトのvenvを作成する必要がある場合、または現在のpython互換性のあるライブラリのバージョン。次のように入力するだけです。
pip install -r requirements.txt
私も同じ問題を抱えていて、このライブラリーで解決してくれました。依存ライブラリのネストされたレベルがある場合など、依存関係の複数のレイヤーで機能するかどうかは不明です。
-編集-更新:
より洗練されたバージョンマネージャーを探している場合は、pyvenv https://github.com/pyenv/pyenv も検討してください。 virtualenv
とpipreqs
を同じツールでブレンドし、pipreqs
のバージョン仕様をいくつか改善しました。