Python docker映像中的Pip冻结与本地安装的结果不同

Python docker映像中的Pip冻结与本地安装的结果不同,python,docker,virtualenv,virtualenvwrapper,Python,Docker,Virtualenv,Virtualenvwrapper,我有一个包含以下库的依赖项文件: boto3==1.14.14 Django==3.0.8 django-cors-headers==3.4.0 django-filter==2.3.0 django-guardian==2.3.0 django-storages==1.9.1 djangorestframework==3.11.0 djangorestframework-gis==0.15 djangorestframework-guardian==0.3.0 djangorestframew

我有一个包含以下库的依赖项文件:

boto3==1.14.14
Django==3.0.8
django-cors-headers==3.4.0
django-filter==2.3.0
django-guardian==2.3.0
django-storages==1.9.1
djangorestframework==3.11.0
djangorestframework-gis==0.15
djangorestframework-guardian==0.3.0
djangorestframework-simplejwt==4.4.0
Pillow==7.2.0
psycopg2==2.8.5
python-dotenv==0.13.0
uWSGI==2.0.19
当我使用
virtualenvwrapper
在干净的本地virtualenv(
python 3.7
和pip升级)中安装它时,
pip freeze
命令返回一个依赖项列表,如果我在
python:3.7-slim
python:3.7
docker映像(也升级了pip)中安装需求,该列表将不相同. docker容器中分散的库包括:

appdirs==1.4.3
CacheControl==0.12.6
certifi==2019.11.28
chardet==3.0.4
colorama==0.4.3
contextlib2==0.6.0
distlib==0.3.0
distro==1.4.0
html5lib==1.0.1
idna==2.8
ipaddr==2.2.0
lockfile==0.12.2
msgpack==0.6.2
packaging==20.3
pep517==0.8.2
pkg-resources==0.0.0
progress==1.5
pyparsing==2.4.6
pytoml==0.1.21
requests==2.22.0
retrying==1.3.3
webencodings==0.5.1
这些库似乎是在我设置本地环境时安装的。如果我重新创建一个新的环境并运行
pip freeze
,我会得到完全相同的列表


我们如何解释这两者之间的区别呢?

这个问题来自
virtualenvwrapper
,它使用
virtualenv
,它有一个种子机制来安装默认库。

这个问题来自
virtualenvwrapper
,它使用
virtualenv
,它有一个种子机制来安装默认库安装默认库。

第二个列表看起来像不在第一个列表中的依赖项列表<例如,code>certifi是TLS根证书的参考Python集<代码>请求是一个依赖于它的标准HTTP客户端库;而且,
bot3
可能取决于这两个。是的,但是如果它们是子依赖项,为什么不像在我的本地virtualenv中那样安装在docker容器中?第二个列表看起来像不在第一个列表中的依赖项列表<例如,code>certifi是TLS根证书的参考Python集<代码>请求是一个依赖于它的标准HTTP客户端库;而且
bot3
可能取决于这两者。是的,但是如果它们是子依赖项,为什么不像我的本地virtualenv那样安装在docker容器中?