首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Lambda docker base -无法安装matplotlib

Lambda docker base -无法安装matplotlib
EN

Stack Overflow用户
提问于 2021-08-12 21:36:44
回答 5查看 348关注 0票数 1

我将docker支持的lambdas与AWS提供的python3.8基础镜像一起使用。

看起来它试图从头开始构建matplotlib,但由于gcc相关错误而失败。

repro很简单,只需尝试构建以下Dockerfile:

代码语言:javascript
运行
AI代码解释
复制
FROM amazon/aws-lambda-python:3.8
RUN yum -y install gcc
RUN pip3 install --upgrade pip
RUN pip3 install matplotlib

错误:

代码语言:javascript
运行
AI代码解释
复制
#7 13.82     set build/lib.linux-x86_64-3.8/matplotlib/_version.py to '3.4.3'
#7 13.82     running build_ext
#7 13.82     creating tmp
#7 13.82     gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/var/lang/include/python3.8 -c /tmp/tmpjr1hj4f1.cpp -o tmp/tmpjr1hj4f1.o -fvisibility=hidden
#7 13.82     gcc: error trying to exec 'cc1plus': execvp: No such file or directory
#7 13.82     gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/var/lang/include/python3.8 -c /tmp/tmp74f416b5.cpp -o tmp/tmp74f416b5.o -fvisibility-inlines-hidden
#7 13.82     gcc: error trying to exec 'cc1plus': execvp: No such file or directory
#7 13.82     gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/var/lang/include/python3.8 -c /tmp/tmp19pyjmxw.cpp -o tmp/tmp19pyjmxw.o -flto
#7 13.82     gcc: error trying to exec 'cc1plus': execvp: No such file or directory
#7 13.82     Extracting /project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz
#7 13.82     Building freetype in build/freetype-2.6.1
#7 13.82     GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2.
#7 13.82     Please try
#7 13.82     
#7 13.82       MAKE=<GNU make command name> ./configure
#7 13.82     
#7 13.82     or
#7 13.82     
#7 13.82       MAKE="makepp --norc-substitution" ./configure
#7 13.82     Traceback (most recent call last):
#7 13.82       File "<string>", line 1, in <module>
#7 13.82       File "/tmp/pip-install-v3njpp10/matplotlib_5bf0432199ce40b5a487eafc6a513cc3/setup.py", line 258, in <module>
#7 13.82         setup(  # Finally, pass this all along to distutils to do the heavy lifting.
#7 13.82       File "/var/lang/lib/python3.8/site-packages/setuptools/__init__.py", line 153, in setup
#7 13.82         return distutils.core.setup(**attrs)
#7 13.82       File "/var/lang/lib/python3.8/distutils/core.py", line 148, in setup
#7 13.82         dist.run_commands()
#7 13.82       File "/var/lang/lib/python3.8/distutils/dist.py", line 966, in run_commands
#7 13.82         self.run_command(cmd)
#7 13.82       File "/var/lang/lib/python3.8/distutils/dist.py", line 985, in run_command
#7 13.82         cmd_obj.run()
#7 13.82       File "/var/lang/lib/python3.8/site-packages/setuptools/command/install.py", line 61, in run
#7 13.82         return orig.install.run(self)
#7 13.82       File "/var/lang/lib/python3.8/distutils/command/install.py", line 545, in run
#7 13.82         self.run_command('build')
#7 13.82       File "/var/lang/lib/python3.8/distutils/cmd.py", line 313, in run_command
#7 13.82         self.distribution.run_command(command)
#7 13.82       File "/var/lang/lib/python3.8/distutils/dist.py", line 985, in run_command
#7 13.82         cmd_obj.run()
#7 13.82       File "/var/lang/lib/python3.8/distutils/command/build.py", line 135, in run
#7 13.82         self.run_command(cmd_name)
#7 13.82       File "/var/lang/lib/python3.8/distutils/cmd.py", line 313, in run_command
#7 13.82         self.distribution.run_command(command)
#7 13.82       File "/var/lang/lib/python3.8/distutils/dist.py", line 985, in run_command
#7 13.82         cmd_obj.run()
#7 13.82       File "/var/lang/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 79, in run
#7 13.82         _build_ext.run(self)
#7 13.82       File "/var/lang/lib/python3.8/distutils/command/build_ext.py", line 340, in run
#7 13.82         self.build_extensions()
#7 13.82       File "/tmp/pip-install-v3njpp10/matplotlib_5bf0432199ce40b5a487eafc6a513cc3/setup.py", line 199, in build_extensions
#7 13.82         package.do_custom_build(env)
#7 13.82       File "/tmp/pip-install-v3njpp10/matplotlib_5bf0432199ce40b5a487eafc6a513cc3/setupext.py", line 596, in do_custom_build
#7 13.82         subprocess.check_call(
#7 13.82       File "/var/lang/lib/python3.8/subprocess.py", line 364, in check_call
#7 13.82         raise CalledProcessError(retcode, cmd)
#7 13.82     subprocess.CalledProcessError: Command '['./configure', '--with-zlib=no', '--with-bzip2=no', '--with-png=no', '--with-harfbuzz=no', '--enable-static', '--disable-shared']' returned non-zero exit status 1.
#7 13.82     ----------------------------------------
#7 13.83 ERROR: Command errored out with exit status 1: /var/lang/bin/python3.8 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-v3njpp10/matplotlib_5bf0432199ce40b5a487eafc6a513cc3/setup.py'"'"'; __file__='"'"'/tmp/pip-install-v3njpp10/matplotlib_5bf0432199ce40b5a487eafc6a513cc3/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vdv6xdpv/install-record.txt --single-version-externally-managed --compile --install-headers /var/lang/include/python3.8/matplotlib Check the logs for full command output.
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2021-08-13 09:22:31

修复方法是在尝试编译matplotlib之前向docker镜像添加编译器工具。我仍然不知道为什么这对我来说开始失败,可能是基础图像被更新了。

代码语言:javascript
运行
AI代码解释
复制
RUN yum -y groups mark install "Development Tools" && yum -y groups mark convert "Development Tools" && yum -y group install "Development Tools"
票数 1
EN

Stack Overflow用户

发布于 2021-08-13 00:46:35

看起来你得到了一个错误,因为缺少编译matplotlib所需的二进制文件。

您可以尝试安装额外的g++包吗?yum安装程序通常将其命名为gcc-c++,因此:

代码语言:javascript
运行
AI代码解释
复制
FROM amazon/aws-lambda-python:3.8
RUN yum -y install gcc gcc-c++
RUN pip3 install --upgrade pip
RUN pip3 install matplotlib
票数 2
EN

Stack Overflow用户

发布于 2021-08-13 12:50:54

我遇到了同样的问题,我认为这是matplotlib的错。在撰写本文时,他们在17小时前发布了一款new version (3.4.3)。对于我来说,将版本设置为以前的次要版本,即matplotlib==3.4.2可以修复它。

直到今天,我的lambda部署没有任何问题,我的代码也没有任何变化,所以我认为这是新版本中的一些问题,尽管我不知道具体是什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68767280

复制
相关文章
axios django CSRF 403错误
使用axios直接post django的接口的时候会提示CSRF 403错误 可以在post的data中转入csrftoken 也可以给单个方法关闭 from django.views.decorators.csrf import csrf_exempt,csrf_protect @csrf_exempt def test(request): pass
小贝壳
2020/03/05
1.4K0
Nginx禁止访问该用401还是403
之前在某些文章中看到建议在nginx配置中用return401而不用403,也没说具体原因,最近这不闲了,突然想起来,google了半天也没有任何相关的信息(可能不太会用google),没办法,只能自己实践看看了
李俊鹏
2020/06/15
3.6K0
Nginx禁止访问该用401还是403
django 主动抛出 403 异常
* 网站名称:obaby@mars * 网址:https://h4ck.org.cn/ * 本文标题: 《django 主动抛出 403 异常》 * 本文链接:https://h4ck.org.cn/2018/12/django-%e4%b8%bb%e5%8a%a8%e6%8a%9b%e5%87%ba-403-%e5%bc%82%e5%b8%b8/ * 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。
obaby
2023/02/24
7970
Django 自定义404 403 500
1、创建templates文件夹 在文件夹下创建404.html/403.html/500.html文件 2、settings.py DEBUG = False # 关闭Debug ... TEMPLATES = [ { ... 'DIRS': ['templates/'], # 配置tamplates文件路径 ... }, ] ... ALLOWED_HOSTS = [ '192.168.1.12', # 配置allowrd_hosts ] 3、views.py from django.shortcuts import render
用户5760343
2022/05/14
4610
Django提交表单时遇到403错误:CSRF verification failed
django 提交表单 提示403:CSRF verification failed 后台日志: UserWarning: A {% csrf_token %} was used in a template, but the context did not provide the value. This is usually caused by not using RequestContext. "A {% csrf_token %} was used in a template, but the
程序员同行者
2018/07/02
1.9K0
Django自定义全局403、404、500错误页面
使用{{ exception }}即可捕获异常信息,转换为html代码{{ exception|safe }},可以根据这些代码中的id等,得到跳转的链接,参考
菲宇
2019/07/31
1.6K0
python测试开发django-66.图片403forbidden
用 django 开发 web 页面,在 HTML 页面上添加图片时,发现本地图片可以正常显示,但是添加一个互联网的图片,却不能正常显示。
上海-悠悠
2019/11/14
6380
【译】HTTP错误码403禁止:意味着什么,怎么修复它
在上网的时候,收到任何的错误码都是让人沮丧的体验。尽管我们已经习惯于404页面找不到,我们在页面迷失的时候,看到可爱的占位符来娱乐我们是很常见的事情了。但是有种更令人困惑的403错误:禁止响应。
Jimmy_is_jimmy
2020/01/03
30.9K0
Django 获取请求参数
  我们在使用python做接口测试的时候,通常使用的是requests库。而大家都知道还有一个request东西,很多人对requests与request两个东西傻傻分不清。下面我简单来介绍一下。
全栈测试开发日记
2023/02/02
2.8K0
Django 获取请求参数
Springboot 403
如果同时进行了filter和CorsConfiguration的配置,OPTIONS请求会返回403,并且控制台提示 Itdoesnothave HTTP ok status.非常恶心。 网上没有找到相应的解释。
喜欢天文的pony站长
2020/06/29
2K0
Springboot 403
Gitlab 403 forbidden
搭建的Gitlab。但今天打开页面的时候显示的是空白页面,上面还有一次文本Forbidden。
匿名用户的日记
2021/12/14
1.4K0
Gitlab 403 forbidden
React saga_react获取子组件ref
React的作用View层次的前端框架,自然少不了很多中间件(Redux Middleware)做数据处理, 而redux-saga就是其中之一,目前这个中间件在网上的资料还是比较少,估计应用的不是很广泛,但是如果使用得当,将会事半功倍的效果,下面仔细介绍一个这个中间件的具体使用流程和应用场景。
全栈程序员站长
2022/09/27
4.6K0
React saga_react获取子组件ref
Django获取HTTP头信息
头信息在HttpRequest对象的META属性中。具体可以查看HttpRequest常用属性。 例如:
zy010101
2021/11/02
1K0
django 获取 request 的 url
    print(request.get_full_path())                             ^ SyntaxError: invalid character in identifier
卓越笔记
2023/02/18
2.1K0
前端React后端Django 导出Excel
Dajngo查询数据,查询出来之后生成Excel保存本地 class ExportExcel(APIView): def post(self, request, *args, **kwargs): export_time = request.data.get('startEndTime') user_id = request.data.get('user_id') if len(user_id) == 1 and 0 in user_id:
Wyc
2021/07/08
6730
Django REST + React + Redux 上传文件
环境 后端: Django==2.0.5 djangorestframework==3.8.2 前端: "react": "^16.3.2" "react-redux": "^5.0.7" "redux": "^4.0.0" 后端 Models: class Supervise(models.Model): ... photo = models.ImageField(upload_to='media/supervise/',null=True,blank=True) # 照片附件 .
fanzhh
2019/08/20
1.2K0
SpringSecurity 403 forbidden
springboot项目,涉及跨域,跨域问题解决后,整合权限SpringSecurity。 遇到问题:get请求可以正常通过;post请求的OPTIONS请求可以通过,但是post请求403 forbidden 报错。
IT云清
2021/12/10
1.7K0
nginx 403 forbidden
nginx django .conf 配置 nginx python Django 集成总结之-nginx配置
onety码生
2018/11/21
3.2K0
Django的POST请求报403,及四种解决方法
Django默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有上传 csrf字段,导致校验失败,报403错误
用户1558882
2018/10/10
15.8K1
Django的POST请求报403,及四种解决方法
点击加载更多

相似问题

比较字符串:文件和列表

11

LINQ -比较列表对象和字符串列表

22

比较元素列表和字符串数组

10

比较列表和列表

211

haskell理解列表,比较字符串和列表,从列表创建字符串列表和值字符串列表。

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档