无法使用sasl python模块构建docker映像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了无法使用sasl python模块构建docker映像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3760字,纯文字阅读大概需要6分钟。
内容图文
![无法使用sasl python模块构建docker映像](/upload/InfoBanner/zyjiaocheng/669/75f475f27bb742a9a06574781579c14b.jpg)
我正在尝试在Mac(High Sierra)上构建包含Python 2的docker映像.这是docker文件. (构建命令:docker build -t integration_test.)
FROM python:2
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install -r requirements.txt
COPY . .
CMD [ "nosetests" ]
这是requirements.txt的内容
nose
pyhive
thrift
sasl
thrift_sasl
python-dateutil
future
six>=1.7.2
当我尝试构建docker映像时,出现以下错误.
Failed building wheel for sasl
Running setup.py clean for sasl
Running setup.py bdist_wheel for thrift-sasl: started
Running setup.py bdist_wheel for thrift-sasl: finished with status 'done'
Stored in directory: /root/.cache/pip/wheels/c8/3a/34/1d82df3d652788fc211c245d51dde857a58e603695ea41d93d
Running setup.py bdist_wheel for future: started
Running setup.py bdist_wheel for future: finished with status 'done'
Stored in directory: /root/.cache/pip/wheels/bf/c9/a3/c538d90ef17cf7823fa51fc701a7a7a910a80f6a405bf15b1a
Successfully built pyhive thrift thrift-sasl future
Failed to build sasl
Installing collected packages: nose, future, six, python-dateutil, pyhive, thrift, sasl, thrift-sasl
Running setup.py install for sasl: started
Running setup.py install for sasl: finished with status 'error'
Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-Dd4Z7v/sasl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-_rw4YI/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/sasl
copying sasl/__init__.py -> build/lib.linux-x86_64-2.7/sasl
running egg_info
writing requirements to sasl.egg-info/requires.txt
writing sasl.egg-info/PKG-INFO
writing top-level names to sasl.egg-info/top_level.txt
writing dependency_links to sasl.egg-info/dependency_links.txt
reading manifest file 'sasl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'sasl.egg-info/SOURCES.txt'
copying sasl/saslwrapper.cpp -> build/lib.linux-x86_64-2.7/sasl
copying sasl/saslwrapper.h -> build/lib.linux-x86_64-2.7/sasl
copying sasl/saslwrapper.pyx -> build/lib.linux-x86_64-2.7/sasl
running build_ext
building 'sasl.saslwrapper' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/sasl
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Isasl -I/usr/local/include/python2.7 -c sasl/saslwrapper.cpp -o build/temp.linux-x86_64-2.7/sasl/saslwrapper.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from sasl/saslwrapper.cpp:254:0:
sasl/saslwrapper.h:22:23: fatal error: sasl/sasl.h: No such file or directory
#include <sasl/sasl.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-Dd4Z7v/sasl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-_rw4YI/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-Dd4Z7v/sasl/
The command '/bin/sh -c pip install -r requirements.txt' returned a non-zero code: 1
我也看到过类似的问题here,它谈论在主机OS上安装依赖库.我想知道如何在docker image / container上完成此操作.
有人遇到过这个问题吗?关于如何解决这个问题有什么建议吗?
解决方法:
您需要将libsasl2-dev安装到Docker映像.
在安装pip之前,以最简单的形式将以下行添加到Dockerfile中:
RUN apt-get update && apt-get install libsasl2-dev
内容总结
以上是互联网集市为您收集整理的无法使用sasl python模块构建docker映像全部内容,希望文章能够帮你解决无法使用sasl python模块构建docker映像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。