ディストリビューション(パッケージ)がインストールしたファイルの一覧は、インストール時に作成される RECORD
ファイルに記録されています。
はじめに、pip show
コマンドでディストリビューションの位置を確認します。
$ # macOS Sierra (10.12)
$ pip show Pillow
Name: Pillow
Version: 4.2.1
Summary: Python Imaging Library (Fork)
Home-page: https://python-pillow.org
Author: Alex Clark (Fork Author)
Author-email: aclark@aclark.net
License: Standard PIL License
Location: /Library/Python/2.7/site-packages
Requires: olefile
RECORD
ファイルはディストリビューションの dist-info
フォルダにあります。
$ # macOS Sierra (10.12)
$ pwd
/Library/Python/2.7/site-packages/Pillow-4.2.1.dist-info
$ ls
DESCRIPTION.rst INSTALLER METADATA RECORD WHEEL metadata.json top_level.txt zip-safe
RECORD
ファイルには、インストールディレクトリからの相対パス、sha256 ハッシュ、ファイルサイズが記録されています。 各ファイルのハッシュ値を計算することで、ファイルが変更されていないか確認することができます。
$ # macOS Sierra (10.12)
$ # Pillow ディストリビューションがインストールしたファイルの一覧を表示
$
$ cat RECORD
PIL/__init__.py,sha256=t6lt8swQiV7BhuYXk_sOrl34QijmWJpPUbmYHVpVjZ8,1671
PIL/_binary.py,sha256=d4Fm598vk15H9L6eYybEJ9nwXFMpq7bIOO5-6u4-IPA,1797
...
PIL/TiffTags.pyc,,
RECORD
ファイル本体、pyc
ファイルなどのハッシュ値、ファイルサイズは記録されません。
参考資料
-
Pythonのsource distributionとeggとwheel
http://tkmr.hatenablog.com/entry/2014/06/28/164426 -
Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc)
http://www.yunabe.jp/docs/python_package_management.html -
wheelのありがたさとAnacondaへの要望
http://ymotongpoo.hatenablog.com/entry/2017/02/02/182647 -
PEP 427 – The Wheel Binary Package Format 1.0
https://www.python.org/dev/peps/pep-0427/ -
PEP 376 – Database of Installed Python Distributions
https://www.python.org/dev/peps/pep-0376/ -
Wheel – wheel 0.29.0 documentation
https://wheel.readthedocs.io/en/stable/ -
Python 3.5 対応画像処理ライブラリ Pillow (PIL) の使い方
https://librabuch.jp/blog/2013/05/python_pillow_pil/ -
mac で PIL (Python Imaging Library) を使う
https://yokaze.github.io/2017/09/23/