最近在集群上安装tensorflow快弄残废了,在虚拟机,个人电脑上,直接pip install tensorflow就解决问题,什么问题都没有。
但在集群上出现各种问题,被问题牵着鼻子走了两天,一个问题解决出现另一个新问题,刚开始是安装tensorflow后,python导入tensorflow模块报错,_pywrap_tensorflow_internal.so: undefined symbol: PyUnicodeUCS4_FromString。
重新编译安装python后的pip问题,setuptools问题,distribute等问题。
后面查到这个,确定核心问题是多版本python(集群里有python2.6.6, 2.7 2.7.3, 3.*好几个)的文件夹,库文件等杂揉在一起,导致各种问题的产生。解决方案是把之前的python版本全卸载,重新安装,清理原路径下的python,pip等,切记安装时指定好目录,不要让不同版本的python之前共享目录库文件等。
找了几个解决好问题的帖子,留存一下。
升级到python2.7.15后安装pip
https://blog.youkuaiyun.com/infiniteidea_go/article/details/81047245
这个帖子把可能出现的几个问题也提前写出来,然后给了解决方案。
使用python的时候,往往需要使用一些包,例如numpy,pandas等,使用pip安装的话就比较方便了
首先下载最新的pip源码包:
https://pypi.org/project/pip/#files
找到适合的包
或者
wget https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
进行解压包:
tar -zxvf pip-10.0.1.tar.gz
cd pip-10.0.1
python setup.py install
可能会出现问题:(如果正常执行跳过此步骤)
报出没有setuptools这个模块,所以需要安装这个模块先如下
到官网下载源码包:
https://pypi.org/project/setuptools/#files
或者
wget https://files.pythonhosted.org/packages/d3/3e/1d74cdcb393b68ab9ee18d78c11ae6df8447099f55fe86ee842f9c5b166c/setuptools-40.0.0.zip
unzip setuptools-40.0.0.zip (如果没有安装unzip包的时候,执行这条命令可能会出错,需要yum install unzip安装即可)
cd setuptools-40.0.0
python setup.py build
python setup.py install
可能会出现问题:(若正常跳过该步骤)
执行报出zlib模块没有,所以继续要zlib模块先,如下操作:
yum install zlib zlib-devel
安装完之后,需要重新编译python2.7
cd ../Python-2.7.15 (进入刚才编译的Python-2.7.15目录下)
./configure
make && make install
(如果你在编译Python-2.7.15的./configure这一步是配置了路径的话,可能需要把rm /usr/bin/python删除了,重新软连接一下,例如:/usr/local/bin/python2.7(这个你在./configure时候指定的路径) /usr/bin/python; ps:如果./configure这步没有指定路径的话,这个可以跳过)
执行完之后,再回到setuptools目录下,重新安装刚才的步骤:
python setup.py build
python setup.py install
这样就安装好的
接着进入pip目录下,重复刚才步骤:
python setup.py install
这个就可以顺利安装完了,还没完继续,先查找pip的位置
whereis pip
找到python2.7的路径,将新升级的python版本作为系统默认的启动版本
ln -s /usr/local/bin/python2.7 /usr/bin/pip
可能会出现问题:
ln: creating symbolic link `/usr/bin/pip': File exists
这个问题是表示文件存在,删除软连接即可
rm /usr/bin/pip
ln -s /usr/local/bin/python2.7 /usr/bin/pip
可以进行测试pip命令了,例如要安装numpy模块
pip install numpy
发现又出问题了,别慌,对症下药,发现ssl模块不可用,所以嘛那就是缺少ssl模块呗,继续安装模块走起:
rpm -aq|grep openssl
发现少了openssl-devel模块,所以需要安装:
yum install openssl-devel
然后重新编译一下python(./configure , make && make install)即可
最后再安装pip install numpy
就可以成功了
在CentOS集群上安装TensorFlow时遇到各种问题,包括Python导入TensorFlow模块错误、pip和setuptools的问题。解决方案是卸载所有Python版本,重新安装并指定目录,确保不混用库文件。通过下载pip和setuptools源码,解决依赖问题,如setuptools、zlib和ssl模块,最后成功安装pip和numpy。
2万+

被折叠的 条评论
为什么被折叠?



