Debian7安装 python 3.5.1

Debian7自带的python是2.7.3, 附带安装包中并没有最新版本,要使用最新版本必须从官网上下载编译安装。

使用 dpkg 命令可以查看所有已安装的包,可以看到没有最新python3.5.1

python --version     #查看当前python使用的版本

apt-get update 
dpkg -l python*      # 可以看到所有python包,(没有最新的包)

基本流程:
1、下载安装包
2、解压
3、configure
4、make,make install
5、设置python3为系统默认

一、安装编译用的依赖包

apt-get install build-essential -y
apt-get install libncurses5-dev libncursesw5-dev libreadline6-dev -y
apt-get install libdb5.1-dev libgdbm-dev libsqlite3-dev libssl-dev -y
apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev -y

注: libdb5.1-dev 这个版本发现升级到了 libdb5.3-dev

二、下载压缩包

国内下载官网的速度实在是太慢,souhu 有python的镜像。 http://mirrors.sohu.com/python/3.5.1/Python-3.5.1.tgz

搜狐镜像

wget http://mirrors.sohu.com/python/3.5.1/Python-3.5.1.tgz

官网

wget --no-check-certificate https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz

下载可能会出现证书无效问题,只要安装个ca-certificates或使用--no-check-certificate下载就可以避免下面的错误。

三、编译安装

tar xzvf Python-3.5.1.tgz
cd Python-3.5.1
./configure --prefix=/usr/local/python35
make all
sudo make install

提示: 这里编译使用的是 make all, 没有直接使用 make。all 参数会编译所有子模块,如sqlite3
出现: Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS
安装 sudo apt-get install libssl-dev openssl

安装完成之后,在最后的提示信息中应该可以看到下面类似的信息。。。。

... ...
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-7.1.2 setuptools-18.2

为当前用户添加执行路径
安装好后把 python3 添加到PATH里,打开~/.bashrc 文件,在最后添加:

vim ~/.bashrc
添加
export PATH=$PATH:/usr/local/python35/bin

保存后:

source ~/.bashrc

输入 python3 --version,可以看到现在的版本是3.5.1。

四、Python3 设置为系统默认

上面基本安装完成后,下面是把python3设置成系统默认的。这里简单把py2的命令删除,设置成py3的命令。还有中方法比较繁琐,但能方便切换版本。实际服务器中不会有切版本的情况,这里就不讨论了。

正常只要替换系统的python命令和pip这两个命令就可以了。其他如果需要可以按下方法添加即可。

rm /usr/bin/python /usr/bin/python2
ln -s /usr/local/python35/bin/python3.5 /usr/bin/python
ln -s /usr/local/python35/bin/pip3 /usr/bin/pip

五、设置pip源

由于国内访问国外的网站比较慢需要找个可靠的镜像。网上比较多介绍的有个豆瓣的。
pypi.douban.com
pypi.tuna.tsinghua.edu.cn
可以直接使用:

pip install -i https:///simple 

如:

pip install -i https://pypi.douban.com/simple cymysql

这种方法当安装东西多的时候不方便。直接加到配置文件中,这样以后就不用管了。

创建一个pip.conf文件,复制到~/.pip 目录下(当前用户),如果这个文件已经存在就直接增加。

cat >pip.conf

[global]
index-url=https://pypi.douban.com/simple

注: 如果上面提示URL错误,把https改成http试一下。

pip版本升级

有时候pip安装时会提示你有最新版本可用。如下面的信息。

Requirement already satisfied (use --upgrade to upgrade): virtualenv in /usr/local/python35/lib/python3.5/site-packages
You are using pip version 7.1.2, however version 8.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

执行命令就可以升级,很方便。pip install --upgrade pip

pip安装特定版本包

pip install <包名称>[==版本号]

如果pip没有安装成功,提示:Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS

缺ssl库,执行以下命令安装

sudo apt-get install libssl-dev openssl

virtualenv 相关问题

pip install virtualenv安装完成后,执行出现下面提示:bash: virtualenv: command not found

没找到命令,实际已经安装了。可以使用find命令找一下。然后就直接映射到执行目录方便使用。

find / -name virtualenv

一般会找到下面的目录,就是编译安装的目录。

/usr/local/python35/bin/virtualenv

映射一下方便使用,或直接放到搜索目录也行。

ln -s /usr/local/python35/bin/virtualenv /usr/bin/virtualenv

本文参考自:http://www.moguf.com/post/setuppython3

weinxin
我的微信公众号
我的微信公众号扫一扫
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar 灰常记忆 4

      这个厉害了,就是看着有点麻烦。

        • avatar 厘米 9

          @灰常记忆 我是为了运行一个脚本才升级了一台vps的python版本。