记录一下在Win10自带的Linux子系统中安装Anaconda【参考 linux下安装Anaconda】,以及安装opencv3并配置tensorflow的过程。
(1)安装Anaconda
到清华大学Anaconda镜像站下载最新版本的Ananconda-Anaconda3-5.0.1-Linux-x86_64.sh
其中3-5.0.1表示python版本是3.6的。
(2)安装opencv
官方仓库可能由于网络原因一直有问题,这里添加一些镜像仓库:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
然后执行下面命令安装opencv,
conda install opencv3
安装完成后,在python环境下执行import cv2可能会报下面的错误:
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: libopencv_ccalib.so.3.1: cannot enable executable stack as shared object requires: Invalid argument
解决方法如下,依次执行:
sudo apt-get install execstack
sudo execstack -c anaconda3/lib/libopencv_*
sudo apt-get install gtk2.0-0
(3)安装tensorflow
本人笔记本,这里无需使用GPU,按理说最简单的方式应该是使用pip直接安装CPU版本的TF,命令如下:
pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.1-cp36-cp36m-linux_x86_64.whl
但是如此安装的TF目前有一个bug,即在python中import tensorflow时有如下警告:
import tensorflow
/root/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6
return f(*args, **kwds)
该问题在github上有大量类似报告:https://github.com/tensorflow/tensorflow/issues/14182,但目前好像还没有解决。要么修改python版本为3.5,要么试着从源码安装。参考《linux下tensorflow安装》