安装python依赖项时Docker容器生成错误
我正在尝试构建一个相当简单的Docker映像,它承载一个小型的安装python依赖项时Docker容器生成错误,python,docker,pip,Python,Docker,Pip,我正在尝试构建一个相当简单的Docker映像,它承载一个小型的python应用程序,但由于一些未知的原因,我失败了,我尝试了所有我能解决的问题,但没有成功 在此之前,我没有对Docker做过太多的工作,所以这可能是一件微不足道的事情 这里有一个Docker文件: FROM python:3.7-alpine3.10 LABEL Name=foo/barVersion=0.0.1 EXPOSE 8080 WORKDIR /app ADD . /app RUN pip3 install --n
python
应用程序,但由于一些未知的原因,我失败了,我尝试了所有我能解决的问题,但没有成功
在此之前,我没有对Docker做过太多的工作,所以这可能是一件微不足道的事情
这里有一个Docker文件:
FROM python:3.7-alpine3.10
LABEL Name=foo/barVersion=0.0.1
EXPOSE 8080
WORKDIR /app
ADD . /app
RUN pip3 install --no-cache-dir -U pip
RUN pip3 install --no-cache-dir -r requirements.txt
CMD ["python3", "./src/main.py"]
所以它非常简单——抓取alpine和Python3.7映像,在上面放一些python代码并安装依赖项——应该很简单。但这并不是因为pip安装总是失败:
Collecting numpy==1.18.1
Downloading numpy-1.18.1.zip (5.4 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'error'
ERROR: Command errored out with exit status 1:
我只是不知道为什么
这个包在本地可用,我可以重新安装,但当我尝试在容器中加载它时,它不存在
这是我用pip
astroid==2.0.4
beautifulsoup4==4.6.3
bs4==0.0.1
Click==7.0
colorama==0.4.0
Django==2.1.3
feedparser==5.2.1
Flask==1.1.1
Flask-API==2.0
Flask-Jsonpify==1.5.0
image==1.5.27
isort==4.3.4
itsdangerous==1.1.0
Jinja2==2.11.1
jsonify==0.5
lazy-object-proxy==1.3.1
MarkupSafe==1.1.1
mccabe==0.6.1
numpy==1.18.1
pandas==1.0.1
patsy==0.5.1
Pillow==5.3.0
pydelicious==0.6
pylint==2.1.1
python-dateutil==2.8.1
pytz==2018.7
rope==0.11.0
scipy==1.4.1
six==1.11.0
statsmodels==0.11.1
Werkzeug==1.0.0
wrapt==1.10.11
提前谢谢 我可以复制这个。我构建了以下Docker映像:
FROM python:3.7-alpine3.10
RUN python3 -m pip install numpy==1.18.1
错误:命令出错,退出状态为1:
命令:/usr/local/bin/python3/usr/local/lib/python3.7/site-packages/pip//u vendor/pep517//u in\u process.py为构建车轮准备元数据/tmp/tmpvsgckc6m
cwd:/tmp/pip-install-crny84w2/numpy
完整输出(223行):
处理numpy/random/_-bounded_integers.pxd.in
处理numpy/random/_-bounded_integers.pyx.in
处理numpy/random/_mt19937.pyx
处理numpy/random/mtrand.pyx
处理numpy/random/_bit_generator.pyx
处理numpy/random/_sfc64.pyx
处理numpy/random/_pcg64.pyx
处理numpy/random/_generator.pyx
处理numpy/random/_common.pyx
处理numpy/random/_philox.pyx
环化源
blas_opt_信息:
blas_mkl_信息:
自定义UnixC编译器
在['/usr/local/lib','/usr/lib']中找不到库mkl_rt
无法使用的
blis_信息:
在['/usr/local/lib','/usr/lib']中找不到库BLI
无法使用的
openblas_信息:
在['/usr/local/lib','/usr/lib']中找不到库openblas
无法使用的
atlas_3_10_blas_线程信息:
设置PTATLAS=ATLAS
在['/usr/local/lib','/usr/lib']中找不到库tatlas
无法使用的
atlas_3_10_blas_信息:
在['/usr/local/lib','/usr/lib']中找不到库SATLA
无法使用的
atlas_blas_线程信息:
设置PTATLAS=ATLAS
在['/usr/local/lib','/usr/lib']中找不到库ptf77blas、ptcblas和atlas
无法使用的
atlas_blas_信息:
在['/usr/local/lib','/usr/lib']中找不到库f77blas、cblas和atlas
无法使用的
加速信息:
无法使用的
blas_信息:
在['/usr/local/lib','/usr/lib']中找不到库blas
无法使用的
blas\U src\U信息:
无法使用的
无法使用的
/bin/sh:s转换:未找到
“numpy/distutils”中不存在路径:“site.cfg”
lapack_opt_信息:
lapack_mkl_信息:
在['/usr/local/lib','/usr/lib']中找不到库mkl_rt
无法使用的
openblas_lapack_信息:
在['/usr/local/lib','/usr/lib']中找不到库openblas
无法使用的
openblas_clapack_信息:
在['/usr/local/lib','/usr/lib']中找不到库openblas、lapack
无法使用的
火焰信息:
在['/usr/local/lib','/usr/lib']中找不到库
无法使用的
atlas_3_10_线程信息:
设置PTATLAS=ATLAS
在/usr/local/lib中找不到库lapack_atlas
库tatlas,在/usr/local/lib中找不到tatlas
在/usr/lib中找不到库lapack_atlas
库tatlas,在/usr/lib中找不到tatlas
无法使用的
atlas_3_10_信息:
在/usr/local/lib中找不到库lapack_atlas
库satlas,在/usr/local/lib中找不到satlas
在/usr/lib中找不到库lapack_atlas
库satla,在/usr/lib中找不到satla
无法使用的
atlas_线程_信息:
设置PTATLAS=ATLAS
在/usr/local/lib中找不到库lapack_atlas
在/usr/local/lib中找不到库ptf77blas、ptcblas、atlas
在/usr/lib中找不到库lapack_atlas
在/usr/lib中找不到库ptf77blas、ptcblas和atlas
无法使用的
atlas_信息:
在/usr/local/lib中找不到库lapack_atlas
在/usr/local/lib中找不到f77blas、cblas和atlas库
在/usr/lib中找不到库lapack_atlas
在/usr/lib中找不到f77blas、cblas和atlas库
无法使用的
lapack_信息:
在['/usr/local/lib','/usr/lib']中找不到库lapack
无法使用的
lapack_src_信息:
无法使用的
无法使用的
正在运行的dist_信息
运行build\u src
构建src
构建py_模块源
创建构建
创建build/src.linux-x86_64-3.7
创建build/src.linux-x86_64-3.7/numpy
创建build/src.linux-x86_64-3.7/numpy/distutils
建立图书馆“npymath”资源
找不到可执行文件gfortran
找不到可执行文件f95
找不到可执行ifort
找不到可执行文件ifc
找不到可执行文件lf95
找不到可执行pgfortran
找不到可执行文件f90
找不到可执行文件f77
找不到可执行文件
找不到可执行文件efort
找不到可执行efc
找不到可执行文件g77
找不到可执行文件g95
找不到可执行文件pathf95
找不到的可执行文件
不知道如何在“posix”平台上编译Fortran代码
从numpy源目录运行。
setup.py:461:UserWarning:无法识别的setuptools命令,继续生成Cython源并展开模板
运行\u build=parse\u setuppy\u命令()
/tmp/pip-install-crny84w2/numpy/numpy/distutils/system_info.py:1896:UserWarning:
未找到优化的(供应商)Blas库。
返回性能较差的netlib Blas库。
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python3 /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpvsgckc6m
cwd: /tmp/pip-install-crny84w2/numpy
Complete output (223 lines):
Processing numpy/random/_bounded_integers.pxd.in
Processing numpy/random/_bounded_integers.pyx.in
Processing numpy/random/_mt19937.pyx
Processing numpy/random/mtrand.pyx
Processing numpy/random/_bit_generator.pyx
Processing numpy/random/_sfc64.pyx
Processing numpy/random/_pcg64.pyx
Processing numpy/random/_generator.pyx
Processing numpy/random/_common.pyx
Processing numpy/random/_philox.pyx
Cythonizing sources
blas_opt_info:
blas_mkl_info:
customize UnixCCompiler
libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
blis_info:
libraries blis not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
openblas_info:
libraries openblas not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
libraries tatlas not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_3_10_blas_info:
libraries satlas not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
accelerate_info:
NOT AVAILABLE
blas_info:
libraries blas not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
blas_src_info:
NOT AVAILABLE
NOT AVAILABLE
/bin/sh: svnversion: not found
non-existing path in 'numpy/distutils': 'site.cfg'
lapack_opt_info:
lapack_mkl_info:
libraries mkl_rt not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
openblas_lapack_info:
libraries openblas not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
openblas_clapack_info:
libraries openblas,lapack not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
flame_info:
libraries flame not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
libraries lapack_atlas not found in /usr/local/lib
libraries tatlas,tatlas not found in /usr/local/lib
libraries lapack_atlas not found in /usr/lib
libraries tatlas,tatlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
NOT AVAILABLE
atlas_3_10_info:
libraries lapack_atlas not found in /usr/local/lib
libraries satlas,satlas not found in /usr/local/lib
libraries lapack_atlas not found in /usr/lib
libraries satlas,satlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_3_10_info'>
NOT AVAILABLE
atlas_threads_info:
Setting PTATLAS=ATLAS
libraries lapack_atlas not found in /usr/local/lib
libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
libraries lapack_atlas not found in /usr/lib
libraries ptf77blas,ptcblas,atlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_threads_info'>
NOT AVAILABLE
atlas_info:
libraries lapack_atlas not found in /usr/local/lib
libraries f77blas,cblas,atlas not found in /usr/local/lib
libraries lapack_atlas not found in /usr/lib
libraries f77blas,cblas,atlas not found in /usr/lib
<class 'numpy.distutils.system_info.atlas_info'>
NOT AVAILABLE
lapack_info:
libraries lapack not found in ['/usr/local/lib', '/usr/lib']
NOT AVAILABLE
lapack_src_info:
NOT AVAILABLE
NOT AVAILABLE
running dist_info
running build_src
build_src
building py_modules sources
creating build
creating build/src.linux-x86_64-3.7
creating build/src.linux-x86_64-3.7/numpy
creating build/src.linux-x86_64-3.7/numpy/distutils
building library "npymath" sources
Could not locate executable gfortran
Could not locate executable f95
Could not locate executable ifort
Could not locate executable ifc
Could not locate executable lf95
Could not locate executable pgfortran
Could not locate executable f90
Could not locate executable f77
Could not locate executable fort
Could not locate executable efort
Could not locate executable efc
Could not locate executable g77
Could not locate executable g95
Could not locate executable pathf95
Could not locate executable nagfor
don't know how to compile Fortran code on platform 'posix'
Running from numpy source directory.
setup.py:461: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
run_build = parse_setuppy_commands()
/tmp/pip-install-crny84w2/numpy/numpy/distutils/system_info.py:1896: UserWarning:
Optimized (vendor) Blas libraries are not found.
Falls back to netlib Blas library which has worse performance.
A better performance should be easily gained by switching
Blas library.
if self._calc_info(blas):
/tmp/pip-install-crny84w2/numpy/numpy/distutils/system_info.py:1896: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
if self._calc_info(blas):
/tmp/pip-install-crny84w2/numpy/numpy/distutils/system_info.py:1896: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
if self._calc_info(blas):
/tmp/pip-install-crny84w2/numpy/numpy/distutils/system_info.py:1730: UserWarning:
Lapack (http://www.netlib.org/lapack/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [lapack]) or by setting
the LAPACK environment variable.
return getattr(self, '_calc_info_{}'.format(name))()
/tmp/pip-install-crny84w2/numpy/numpy/distutils/system_info.py:1730: UserWarning:
Lapack (http://www.netlib.org/lapack/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [lapack_src]) or by setting
the LAPACK_SRC environment variable.
return getattr(self, '_calc_info_{}'.format(name))()
/usr/local/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 257, in <module>
main()
File "/usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 240, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 110, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "/tmp/pip-build-env-mj53cxtu/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 158, in prepare_metadata_for_build_wheel
self.run_setup()
File "/tmp/pip-build-env-mj53cxtu/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 250, in run_setup
self).run_setup(setup_script=setup_script)
File "/tmp/pip-build-env-mj53cxtu/overlay/lib/python3.7/site-packages/setuptools/build_meta.py", line 143, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 488, in <module>
setup_package()
File "setup.py", line 480, in setup_package
setup(**metadata)
File "/tmp/pip-install-crny84w2/numpy/numpy/distutils/core.py", line 171, in setup
return old_setup(**new_attr)
File "/tmp/pip-build-env-mj53cxtu/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup
return distutils.core.setup(**attrs)
File "/usr/local/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/local/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-mj53cxtu/overlay/lib/python3.7/site-packages/setuptools/command/dist_info.py", line 31, in run
egg_info.run()
File "/tmp/pip-install-crny84w2/numpy/numpy/distutils/command/egg_info.py", line 26, in run
self.run_command("build_src")
File "/usr/local/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/tmp/pip-install-crny84w2/numpy/numpy/distutils/command/build_src.py", line 146, in run
self.build_sources()
File "/tmp/pip-install-crny84w2/numpy/numpy/distutils/command/build_src.py", line 157, in build_sources
self.build_library_sources(*libname_info)
File "/tmp/pip-install-crny84w2/numpy/numpy/distutils/command/build_src.py", line 290, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
File "/tmp/pip-install-crny84w2/numpy/numpy/distutils/command/build_src.py", line 380, in generate_sources
source = func(extension, build_dir)
File "numpy/core/setup.py", line 661, in get_mathlib_info
raise RuntimeError("Broken toolchain: cannot link a simple C program")
RuntimeError: Broken toolchain: cannot link a simple C program
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python3 /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpvsgckc6m Check the logs for full command output.