之前的python环境,使用ubuntu安装pip来安装python依赖,但是遇到缺少某些库的版本,比如一个项目需要用到faiss,pip只有最新的1.5.3版本,但是这个版本使用了较新的CPU指令,在老服务器上运行报错:

Illegal instruction (core dumped) - in new version of FAISS #885

github上提示安装旧版本:

If anyone else is struggling and wanna go back to previous working version, use: conda install faiss-cpu=1.5.1 -c pytorch -y

遗憾的是,下面的命令不成功,没有1.5.1版本:

pip install faiss-cpu==1.5.1

转而投向conda。

首先,下载最新的conda安装命令:

wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh

然后构建conda的基础镜像,还是以ubuntu:16.04为底包,Dockerfile如下:

from ubuntu:16.04
RUN apt-get update && apt-get install -y --no-install-recommends \
bzip2 \
g++ \
git \
graphviz \
libgl1-mesa-glx \
libhdf5-dev \
openmpi-bin \
wget && \
rm -rf /var/lib/apt/lists/* RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update ADD ./Anaconda3-2019.07-Linux-x86_64.sh ./anaconda.sh ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
ENV PATH /opt/conda/bin:$PATH
RUN /bin/bash ./anaconda.sh -b -p /opt/conda && rm ./anaconda.sh && ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && echo "conda activate base" >> ~/.bashrc && find /opt/conda/ -follow -type f -name '*.a' -delete && find /opt/conda/ -follow -type f -name '*.js.map' -delete && /opt/conda/bin/conda clean -afy CMD [ "/bin/bash" ]

构建:

docker build -t conda3:1.0 .

后面,就可以以conda3:1.0 .为基础镜像构建需要的镜像,比如我们需要安装faiss-cpu 1.5.1版本

from conda3:1.0

RUN conda install pytorch -y
RUN conda install faiss-cpu=1.5.1 -c pytorch -y CMD [ "/bin/bash" ]

构建:

docker build -t conda-faiss:1.0 .

作者:Jadepeng

出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi

您的支持是对博主最大的鼓励,感谢您的认真阅读。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

最新文章

  1. javascript事件监听与事件委托
  2. zepto阻止事件冒泡
  3. Socket常见错误
  4. scrapy爬虫成长日记之将抓取内容写入mysql数据库
  5. 那些盒模型在IE6中的BUG们,工程狮的你可曾遇到过?
  6. List集合分组
  7. pl/sql developer 编码格式设置
  8. libvlc 双击,鼠标事件消息响应
  9. ANDROID_MARS学习笔记_S03_009_GOOGLEMAP3
  10. Ubuntu安装配置Qt环境
  11. HDU 1559 最大子矩阵 (DP)
  12. ASP.NET - 分页
  13. js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( ))
  14. headfirst设计模式(3)—装饰者模式
  15. Windows下的lua-5.3.4安装过程
  16. 检测磁盘驱动的健康程度SMART
  17. 24G的SSD有什么用
  18. Spring Cloud 入门教程(十):和RabbitMQ的整合 -- 消息总线Spring Cloud Netflix Bus
  19. python 等比数列
  20. linux soft

热门文章

  1. LeetCode 5112. 十六进制魔术数字 Hexspeak
  2. TensorBoard:可视化学习
  3. maven本地仓库路径和修改
  4. 从壹开始 [ Design Pattern ] 之三 ║ 工厂模式 与 小故事
  5. Spring Boot应用启动的三种方式
  6. 重新调用 layoutSubview
  7. wdCP v3.3.8apache阿里云ssl证书实现智慧软文http转换https的详细操作教程
  8. CSS与JavaScript小结
  9. js杂项积累
  10. Vue + TypeScript 踩坑总结