Python2.7.15 及3.6.2源码链接
关于Python的下载地址链接如下:(https://www.python.org/downloads/source/)
我用的是Python2.7.6和比较老的Python3.6.2,基本满足我的需求,大家也可以下载其他的版本一样适配。
首先声明一点:我是重装系统以后,在Ubuntu16.04本地用户无python的情况下进行部署的,若你已经安装了Python或者anaconda,请注意Python之间的冲突问题。欢迎随时留言交流。
Python安装需求梳理
关于Python,我之前用的是anaconda,编译caffe,还有就是安装pytorch和tensorflow。
首先说明一点,anaconda作为python包管理器,确实很强大,我还要编译c++/c程序,
有的时候,感觉anaconda不受控制,它下载了好多库,我的程序经常找错库,个人能力有限。
所以,痛定思痛,决定弃用anaconda,改为源码安装Python2.7和Python3.6。为什么是python3.6?
是因为Python3.6支持opencv-Python的安装。既然想做的事情清晰了,让我们看看具体的需求:
- 用于编译caffe-ssd(主要用的是Python2.7)
- 用于pytorch,tensorflow-gpu(主要是python3.6)
- 用于创建虚拟环境,主要是Python3.6。
- pip负责安装Python2.7的包
- pip3.6负责安装python3.7的包
- Python2.7的启动名称为Python2.7local
- Python3.6的启动名称为Python3.6
- 会针对caffe的编译需求进行配置configure
具体的东西都比较杂了,也是我自己一路踩过来的坑,和大家分享,作为一个借鉴。
Python2.7.15 安装过程
1、安装依赖包:sudo apt-get install python-tk
sudo apt-get install autoconf curl libmysqld-dev libaio-dev libjpeg62-dev libpng12-dev libfreetype6-dev libssl-dev zlib1g-dev
sudo apt-get install tk-dev
sudo apt-get install openssl-dev
sudo apt-get install sqlite3
apt-get install libsqlite3-dev
此处需要源码安装tcl/tk,请参考
2、编译安装
做好上述准备后,cd到源码包中。
依次输入如下指令:./configure --enable-unicode=ucs4 --enable-shared CFLAGS=-fPIC --with-ssl --prefix=/usr/local/python2-7
make
sudo make altinstall
编译完毕,我是64位操作系统。
3、环境构建:
在.bashrc末尾中输入如下内容:export PATH=/usr/local/python2-7/include:${PATH} export PATH=/usr/local/python2-7/bin:${PATH} export LD_LIBRARY_PATH=/usr/local/python2-7/lib:${LD_LIBRARY_PATH} export CPLUS_INCLUDE_PATH=/usr/local/python2-7/include/python2.7:$CPLUS_INCLUDE_PATH
为了能像一个指令那样使用Python2.7,做一个软连接:sudo ln -s /usr/local/python2-7/bin/python2.7 /usr/local/bin/python2.7local
下载pip-18.1.tar.gz
及setuptools-40.6.2.zip
,解压后进入,分别输入如下指令:python2.7local setup.py install
安装成功后,你就有了最新的pip及setuptools ,为了方便pip的使用,做一个软连接到local/binsudo ln -s /usr/local/python2-7/bin/pip /usr/local/bin/pip
此处一定要注意,你之前是否已经装过pip到此目录下,若是,则不要叫pip了,换一个名称即可。
到此Python2.7已经安装完毕,可以用Python2.7local 启动,用pip安装相关的包了。
python3.6安装过程
1、依赖包安装sudo apt-get install python-tk
sudo apt-get install autoconf curl libmysqld-dev libaio-dev libjpeg62-dev libpng12-dev libfreetype6-dev libssl-dev zlib1g-dev
sudo apt-get install tk-dev
sudo apt-get install openssl-dev
sudo apt-get install sqlite3
apt-get install libsqlite3-dev
tk的包和ssl的包尤其要注意。
2、编译安装
做好上述准备后,cd到源码包中。
依次输入如下指令:./configure --enable-unicode=ucs4 --enable-shared CFLAGS=-fPIC --with-ssl --prefix=/usr/local/python3-6
make
sudo make altinstall
编译完毕,我是64位操作系统。
3、环境构建
在.bashrc 末尾输入如下内容:export PATH=/usr/local/python3-6/include:${PATH} export PATH=/usr/local/python3-6/bin:${PATH} export LD_LIBRARY_PATH=/usr/local/python3-6/lib:${LD_LIBRARY_PATH} export CPLUS_INCLUDE_PATH=/usr/local/python3-6/include/python3.6m:$CPLUS_INCLUDE_PATH
为了能像一个指令那样使用Python3.6,做一个软连接:sudo ln -s /usr/local/python3-6/bin/python3.6 /usr/local/bin/python3.6
安装晚Python3.6后,已经安装了pip3了,但是,版本太低,需要升级。
下载pip-18.1.tar.gz
,解压后进入,输入如下指令:python3.6 setup.py install
安装成功后,你就有了最新的pip3.6 ,为了方便pip的使用,做一个软连接到local/binsudo ln -s /usr/local/python3-6/bin/pip3.6 /usr/local/bin/pip3.6
此处一定要注意,你之前是否已经装过pip3.6到此目录下,若是,则不要叫pip3.6了,换一个名称即可。
到此Python3.6.2已经安装完毕,可以用Python3.6 启动,用pip3.6安装相关的包了。