改变python的GCC编译环境

一、背景

某一个服务依赖的环境是由gcc4编译的python,但本机基于anaconda2安装的python,默认编译为gcc7,本机默认的python gcc版本也是gcc7,本机的gcc环境是gcc4。

二、需求

要在anaconda的虚拟环境中,将python的gcc版本从7改成4,且不影响本机默认的环境配置(再次用anaconda安装Python时,gcc版本依然是7)

三、本机环境检查

1、本机的gcc版本

命令:gcc --version

gcc版本

2、anaconda2默认安装的python环境的gcc编译版本

首先输入命令,source activate env_name 进入环境env_name ,然后输入命令,python查看gcc编译版本。

基于anaconda安装的python的gcc编译版本

3、本机默认安装的python gcc版本

macOS、centos等系统默认自带python ,输入命令python查看gcc版本。

本机自带Python的gcc本本

可见,基于anaconda2默认安装的python环境的gcc编译版本和本机默认安装的python gcc版本是相同的。

四、更改anaconda的虚拟环境下安装的python的gcc版本,且不改变anaconda默认、本机默认的gcc版本

1、进入虚拟环境

source activate env_name 

2、下载Python源码

https://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz

3、解压Python源码

tar zxf Python-2.7.3.tgz

cd Python-2.7.3

4、export PATH环境,确保在gcc4环境下

export PATH=/opt/compiler/gcc-4.8.2/bin/:$PATH

5、生成Makefile文件,配置python的安装路径

./configure --prefix=/home/work/tools/python2.7 --enable-shared --enable-unicode=ucs4

6、编译、安装

make

make install

7、编辑~/.bashrc文件,确保使用新安装的Python

export PATH=/home/work/tools/python2.7/bin:$PATH

8、下载pip安装包

https://bootstrap.pypa.io/get-pip.py

9、安装pip

python get-pip.py

如果执行失败,需要更新pip源:(这一步没实验,因为安装pip成功了),成功跳到10

mkdir -p $HOME/.pip/

echo -e "[global]\nindex-url = http://pip.baidu.com/pypi/simple" >> $HOME/.pip/pip.conf

echo -e "[install]\ntrusted-host = pip.baidu.com" >> $HOME/.pip/pip.conf

echo -e "[easy_install]\nindex-url = http://pip.baidu.com/pypi/simple" >> $HOME/.pydistutils.cfg

10、修改pip模块安装路径

vim /home/work/tools/python2.7/lib/python2.7/site.py

找到USER_SITE,USER_BASE,修改变量为:

USER_SITE = "/home/work/tools/python2.7/lib/python2.7/site-packages"

USER_BASE = "/home/work/tools/python2.7"

11、在bashrc中增加Python的路径

export PATH=/home/work/tools/python2.7/bin:$PATH

五、结果验证

可以看到虚拟环境下的GCC版本已经变为4了。

更改后的python GCC版本GC

你可能感兴趣的:(改变python的GCC编译环境)