部署環境:
操作系統:CentOS release 6.5 (Final)
Python版本:
Python 2.7.10 (default, Dec 22 2016, 14:45:25)
[GCC 4.8.2] on linux2
[root@linuxidc ~]# python
Python 2.7.10 (default, Dec 22 2016, 14:45:25)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Segmentation fault (core dumped)
[root@paris ~]#
解決方法:
問題:scipy和tensorflow沖突
部署環境:CentOS6 python2.7 scipy 0.12.0 tensorflow0.8.0
問題描述:
在上述環境中部署tensorflow0.8.0的時候,安裝沒有問題,import tensorflow時報錯:Segmentation fault (core dumped)
探索過程:
1、用virtualenv創建一個不附帶任何模塊的純淨環境,安裝tensorflow發現安裝和使用一切正常
2、說明tensorflow和我的主機環境中某些模塊有沖突
3、現在就要判斷與哪個模塊沖突,為了節省時間,我在這用了類似於索引順序表查找的想法,對照我的實體機環境,一次安裝多個模塊,然後驗證是否出錯,直到出錯,說明問題處在最後一組,而一次安裝那些模塊,是按照依賴關系來的,比如C依賴AB,我就把ABC放在一組,直接安裝C,順便也就安裝依賴AB,按照這種方法,找到了一組沖突,就是安裝sklearn之後tensorflow不能正常工作,出現如上報錯。於是判定應該是sklearn或者依賴模塊與tensorflow沖突。挨個嘗試sklearn的依賴numpy、scipy時發現是scipy和tensorflow的沖突。
4、嘗試解決沖突:考慮到可能是版本問題,嘗試過多個版本的組合,發現scipy可以和tensorflow0.5.0共存,於是得到一個初步解決。但是,tensorflow的0.5.0缺少了一些新版的功能和優點,後通過下述方法解決
解決辦法:
手工編譯scipy:
到https://pypi.Python.org/pypi/scipy/
下載https://pypi.python.org/packages/05/5e/973bf71cfa865d962a68893e35e366a0a7ac0b713bc398b4e584c1bed982/scipy-0.17.1.tar.gz#md5=8987b9a3e3cd79218a0a423b21c8e4de
解壓後安裝:
python setup.py install
這樣就不會有沖突了
Ubuntu 16.04安裝配置TensorFlow GPU版本 http://www.linuxidc.com/Linux/2016-11/137561.htm
Ubuntu 16.04下CUDA8.0+Theano+Caffe+TensorFlow環境搭建 http://www.linuxidc.com/Linux/2016-09/135528.htm
TensorFlow 的Mac OS 下的部署和安裝 http://www.linuxidc.com/Linux/2016-07/133219.htm
TensorFlow編譯過程中遇到的問題及解決方案 http://www.linuxidc.com/Linux/2016-07/133216.htm