Python 使用setup.py安装构建docker映像比首先安装pip要慢得多
我有一个docker映像,它接受我的代码并运行Python 使用setup.py安装构建docker映像比首先安装pip要慢得多,python,docker,Python,Docker,我有一个docker映像,它接受我的代码并运行python setup.py install来安装所有依赖项,但是性能明显比我先安装-r requirements.txt要差 FROM python:3.7-alpine COPY . /myproj WORKDIR /myproj RUN pip3 install --no-cache-dir -r requirements.txt RUN python3 setup.py install CMD ["python3", "main.py"
python setup.py install
来安装所有依赖项,但是性能明显比我先安装-r requirements.txt要差
FROM python:3.7-alpine
COPY . /myproj
WORKDIR /myproj
RUN pip3 install --no-cache-dir -r requirements.txt
RUN python3 setup.py install
CMD ["python3", "main.py"]
real 0m9.090s
user 0m1.178s
sys 0m1.226s
这很快,但如果我这么做了
FROM python:3.7-alpine
COPY . /myproj
WORKDIR /myproj
RUN python3 setup.py install
CMD ["python3", "main.py"]
real 1m6.519s
user 0m1.213s
sys 0m1.277s
requirements.txt:
boto3==1.10.36
jinja2==2.10.3
policyuniverse==1.3.2.1
setup.py安装需要:
'boto3',
'jinja2',
'policyuniverse',
有人知道为什么要花这么长时间吗?是因为requirements.txt中的固定版本吗
这是我的setup.py文件
from setuptools import setup, find_packages
setup(name='myapp',
version='0.1',
description='Myappstuff',
url='https://placeholder.com',
author='PT',
author_email='me@me.com',
license='',
packages=find_packages(exclude=('tests',)),
install_requires=[
'boto3',
'jinja2',
'policyuniverse',
],
include_package_data=True,
zip_safe=False)
猜测一下,可能是
python setup.py install
下载并安装了从源代码处编译的模块,而pip install-r requirements.txt
使用了更快的wheel软件包安装速度。你能展示setup.py
的内容吗?@funnydman我对这个问题进行了更详细的编辑。