This repository was archived by the owner on Mar 27, 2024. It is now read-only.
This repository was archived by the owner on Mar 27, 2024. It is now read-only.
pip differ doesn't match the packages with python version suffix in name #289
Closed
Description
Consider image with python-3.6
inside and additional pip packages installed via requirements file (via setup.py
).
your app includes requirements.txt
with following packages:
graphitesend
future
When you perform container-diff analyze daemon://your-image -t pip
you receive only subset of pip packages:
NAME VERSION SIZE INSTALLATION
-pip 18.0 6.8M /usr/local/lib/python3.6/site-packages
-pytz 2018.9 954.9K /usr/local/lib/python3.6/site-packages
-setuptools 39.0.1 1.8M /usr/local/lib/python3.6/site-packages
-six 1.12.0 31.7K /usr/local/lib/python3.6/site-packages
While inside the image you can see following packages:
$ ls /usr/local/lib/python3.6/site-packages/
graphitesend
graphitesend-0.10.0-py3.6.egg-info
future
future-0.16.0-py3.6.egg-info
pip
pip-18.0.dist-info
pytz
pytz-2018.9.dist-info
setuptools
setuptools-39.0.1.dist-info
six.py
six-1.12.0.dist-info
$ pip list
Package Version
----------------------- -------
future 0.16.0
graphitesend 0.10.0
pip 18.0
pytz 2018.9
setuptools 39.0.1
six 1.12.0
I suspect following piece of code in differ:
packageDir := regexp.MustCompile("^([a-z|A-Z|0-9|_]+)-(([0-9]+?\\.){2,3})(dist-info|egg-info)$")
which doesn't match these packages because something like -py3.6
is not allowed in the filename.
Expected behavior
All packages from pip list are listed.
Actual behavior
Only subset of pip packages are listed in differ output.
Information
- container-diff version: version 0.14.0
- Operating system: CentOS 7.5
Thank you in advance for any update!