Page-level ads

Pythonライブラリのライセンス情報を一括出力する方法 – つまさぽ(妻のサポート)

技術

Pythonライブラリのライセンス情報を一括出力する方法

投稿日:

ws-pc-top

仕事で使っているOSSのライセンスに問題がないか確認する必要がありました。

Pythonライブラリもその対象だったのですが、数が多くて「pip list」からの「pip show [package名]」ではとてもやっていられません!

そこで、Pythonにインストールされているpackageの「package名、版数、License名、Home Page URL」を一括出力するPythonスクリプトを作成しましたので、記事に残しておきます。

ws-pc-more

Pythonスクリプト

 

仕様

pythonにインストールされているライブラリの 「Package名、版数、ライセンス名、Home Page URL」をタブ区切りで出力します。

Package名

pkg.keyから取得します。

Version

pkg.versionから取得します。

License名

METADATAまたはPKG-INFOから情報を取得します。

「License」がUNKNOWNだった場合は、「Classifier: License :: OSI Approved」から取得し、それもUNKNOWNだった場合は、「(Licence not found)」を復帰します。

Home Page URL

METADATAまたはPKG-INFOから情報を取得します。

「Home-page」がUNKNOWNだった場合は、「https://pypi.python.org/pypi/+package名」を復帰します。この場合、実際に有効なURLとは限りません。

使い方

実行結果

参考

Can pip (or setuptools, distribute etc…) list the license used by each installed package?

ws-pc-btm

ws-pc-btm-right

-技術
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

pip install cairosvg で Command “python setup.py egg_info” failed with error code 1 in path/to/cairocffi/

Windows Server 2012 R2 で Python3 環境を構築中です。 requirements.txt に必要な Python ライブラリを記載し、 [crayon-607845031 …

Fusion Drive 作成時に Error: Error: -69886: Invalid request が発生したときの対処法

MacBook Pro 15-inch Late2011 を SSD128GB + SSHD2TB で Fusion Drive にしようとしたときにエラーが発生したので、対処法を残しておきます。

Crayon Syntax Highlighter

Crayon Syntax Highlighter のテーマ一覧

はじめに 技術系ブログを運営する上でのあこがれ、Syntax highlightingを導入しました。 業務で技術系の調査をしている時に、Syntax highlightingを使って情報を提供してい …

ウェブマスターツールにサイトマップを登録したらエラーが発生!その原因は?

はじめに 当ブログのサイトマップをウェブマスターツールに登録したらエラーが発生しました。 環境は、マルチサイト機能のサブディレクトリ形式で作成したブログ WordPressの複数ブログでサブドメイン形 …

Ubuntu18.04 LTS で VNC接続設定時に failed to commit changes to dconf が発生した際の対処法

Windows10もしくはMacOSからUbuntu 18.04 LTSにリモート接続(リモートデスクトップ)してみたを参考に、Ubuntu18.04 LTSにVNC接続を試みましたが、手順中で警告が …

ws-pc-side-top

ws-pc-side-btm