> CentOS > CentOS故障 >

解决Centos7多版本python包不能通用问题

PROBLEM

多版本python共存时安装第三方包不能共用。

REASON

linux系统自带python,不过版本比较低,多为2.7版本。而且许多已经安装好的包都是依赖与这个版本。有时需要高版本的python,就存在多个版本python共存的情形。如果使用ubuntu,apt-get安装版本冲突情况很少见,各个版本的包也都比较全。但是如果用的是CentOS,用yum安装,由于yum内部解析时直接就指定并python版本的。

vim /usr/bin/yum

脚本打头如下。

#!/usr/bin/python
import sys
....................

SOLUTION

修改软链接会导致默认的其他应用无法使用。用yum安装相应的包比如scipy、numpy又都是默认版本python对应的,高版本python对应的包相当于没安装上。

1、一种办法就是下载对应包的源码,指定高版本python安装一次。进入源码包类似执行

python3.5 setup.py install

2、还有一种方式是用pip安装。不过安装pip的时候需要用两个版本的python分别从源码安装一次。感觉比较坑。。。然后用pip安装对应的包就能同时安装多个版本python对应的包了。(试了下不行。。。只对新安装版本有效)

pip install scipy numpy

3、网上还有用pyenv来解决多版本包管理的问题。  pyenv的安装步骤如下:

git clone git://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL -l

相关pyenv更多可以参考这篇博文。感觉写的很清楚。  http://seisman.info/python-pyenv.html



(责任编辑:IT)