最近一次项目中使用ptyhon进行数据分析及绘图,鉴于多数依赖环境需要python3.5版本,因此做一下兼容。
系统环境 ubuntu12.04(64bit)
默认系统已经自带了python2.7。在安装python3.5的时候,不要将python2.7的版本删掉,因为系统本身有很多功能都是需要python2.7的支持。网上查了一些资源发现有两种方式可以让不同版本的python共存:一、通过vitrualenv工具,给不同python版本做环境隔离;二、在安装python3.5版本的时候配置一下安装路径,重新建立软链接就能很好地区分python2.7和3.5了,不需要用到vitrualenv。
以下是在安装python3.5,pip和setuptools时遇到的问题及解决方法。
下载python3.5:
登录python的官网: https//www.python.org/ 找到linux适用的source release版本。
我使用的存储目录为/usr/local/src:
1、$ cd /usr/local/src
2、$ wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz#python3.5.1版本
3、$ sudo xz -d Python-3.5.1.tar.xz #解压
4、$ sudo tar xvf Python-3.5.1.tar #解压
5、$ cd Pyton-3.5.1
6、$ sudo mkdir /usr/local/python3.5
7、$ sudo chmod 777 /usr/local/python3.5/
8、$ sudo ./configure --prefix=/usr/local/python3.5 #配置python3.5安装路径
9、$ sudo make #编译
10、$ sudo make install #安装
前提是已经安装了gcc环境和make
在make编译时要注意最后打印的消息,可能会是像这样的信息:
1、Python build finished successfully! 2、The necessary bits to build these optional modules were not found:
3、_bz2 _curses _curses_panel _dbm _gdbm
4、_lzma _sqlite3 _ssl _tkinter readline zlib
5、To find the necessary bits, look in setup.py in detect_modules() for the module's name.
其中,编译结束时如果提示缺少zlib和_ssl,这会对后面安装pip3和setuptools有影响。所以,需要把他们都安装上。
安装zlib:
1、$ sudo apt-get install --reinstall zlibc zlib1g zlib1g-dev
安装_ssl:
1、$ sudo apt-get install libssl-dev
然后重新make, make install.
这次安装成功了,最后输出的信息为:
1、Collecting setuptools
2、Collecting pip
3、Installing collected packages: setuptools, pip
4、Successfully installed pip-7.1.2 setuptools-18.2
现在需要给python3.5 和它对应的pip版本做一个软链接了,和python2.7版本的区分。
1、$ cd /usr/bin
2、$ sudo ln -s /usr/local/python3.5/bin/python3.5 /usr/bin/python3.5
3、$ sudo ln -s /usr/local/python3.5/bin/pip3.5 /usr/bin/pip3.5
4、$ python3.5 --version #查看版本
5、$ pip3.5 --version #查看pip版本
上述python3.5与pip3.5版本输出均对应python3.5版本就表示已成功安装python3.5版本。至此安装完毕,