Debian7自带的是python2.7,python3需要自行编译源码安装。
查看py版本
$ python --version # 查看当前使用的版本
$ whereis python
$ which python
基本流程
- 官网下载python3.7源码
- 解压源码
- 执行
configure
- 执行
make all
和make install
- 设置python3和pip3
安装Python3编译需要的包
$ sudo apt-get install build-essential -y
$ sudo apt-get install libncurses5-dev libncursesw5-dev libreadline6-dev -y
$ sudo apt-get install libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev -y
$ sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev -y
$ sudo apt-get install libssl-dev openssl -y
下载源码
建议去官方网站下载source.tar.gz
$ wget --no-check-certificate https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
编译安装
$ tar xzvf Python-3.5.1.tgz # 解压到当前目录
$ cd Python-3.5.1
$ ./configure --prefix=/usr/local/python35 --with-ssl # 配置安装的位置,这个非常重要
$ make all
$ sudo make install
安装完成后,会看到如下提示
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-7.1.2 setuptools-18.2
这里已经将setuptool和pip安装好了,只是没有软链到
/usr/bin
下,后文无需再重复安装pip,在/usr/local/python35/lib/site-packages下可以使用./pip
为当前用户添加执行路径
$ vim ~/.bashrc
最后一行添加
export PATH=$PATH:/usr/local/python35/bin,如果有多个,请用英文冒号间隔
$ source ~/.bashrc # source生效
设置python3为系统默认
$ sudo ln -s /usr/local/python35/bin/python3.5 /usr/bin/python3 # 将系统命令python3指向刚刚安装的python
$ sudo ln -s /usr/local/python35/bin/pip3 /usr/bin/pip3 # 将pip3指向刚刚安装的pip
pip源
这个不是必须设置,但是由于pypi在国外,连接不是很稳定,可以选用豆瓣源或者搜狐源
$ pip install -i https://<mirror>/simple <package>
$ pip install -i https://pypi.douban.com/simple django # 使用豆瓣源
使用virtualenv
在python2和python3共存情况下,可能会出现pip混淆,此种可以通过virtualenv建虚拟目录,在虚拟环境中输入python会进入固定的python版本。
$ pip install virtualenv
$ virtualenv .env -p [python版本]