PHP Laravel NGINX html css Bootstrap Python Symfony Apache Windows linux jquery Django ASP vanilla Slim vagrant docker Homestead MySQL Redis Git SVN ssh Root vim PhpStorm Pycharm sass less PHP Laravel android html css Vue Angular React NGINX html css Javascript

Ubuntu 16.04/18.04 安装 Python-3.7

原创

原创不易 ~ 转载请注明出处哦

目前Ubuntu系统自带的Python版本仍然为3.6.x,如果需要安装Python 3.7,我们需要下载源码手动编译。

首先我们需要安装必须的Dependencies

$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
    libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev

接下来,我们下载Python-3.7源文件:

$ cd /usr/src
$ sudo wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz

下载完成后,我们解压并删除压缩包:

$ sudo tar -xf Python-3.7.1.tar.xz
$ sudo rm Python-3.7.1.tar.xz

在编译之前,有一个非常重要的步骤我们需要进行:

$ cd Python-3.7.1

# 配置文件
$ sudo ./configure --enable-optimizations

# 修改SSL配置
$ sudo vim ./Modules/Setup

输入/SSL回车查询到以下几行配置:

#   SSL=/usr/local/ssl
#   _ssl _ssl.c \
#       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
#       -L$(SSL)/lib -lssl -lcrypto

i进入编辑模式,将前方的#注释符号都去掉,然后按esc,输入:wq保存退出。
以上步骤将确保我们在使用pip时不会出现以下错误:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.


接下来我们就可以开始编译了:

$ sudo make altinstall

编译完成后,我们确认Python已经安装成功:

$ python3.7 -V
Python 3.7.1

如果我们想让系统默认python命令运行python3.7,那么我们可以使用alias
将下面的内容复制到~/.bash_aliases中(如果不存在这个文件,请手动创建):

alias python=python3.7

保存后,运行命令:

$ source ~/.bash_aliases

然后我们就可以使用python命令启动python3.7了:

$ python -V
Python 3.7.1

如果我们要使用virtualenvwrapper来创建虚拟环境,我们首先需要安装virtualenvwrapper

$ sudo pip3.7 install virtualenvwrapper

接下来我们添加两个环境变量,用于指名virtualenvwrapper在创建虚拟环境时使用的python版本:

$ export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.7
$ export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv

最后我们加载配置:

$ source /usr/local/bin/virtualenvwrapper.sh

完成后,我们就可以新建虚拟环境了:

eagle@EagleEye:~$ mkvirtualenv venv
Using base prefix '/usr/local'
New python executable in /home/eagle/.virtualenvs/venv/bin/python3.7
Also creating executable in /home/eagle/.virtualenvs/venv/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/eagle/.virtualenvs/venv/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/eagle/.virtualenvs/venv/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/eagle/.virtualenvs/venv/bin/preactivate
virtualenvwrapper.user_scripts creating /home/eagle/.virtualenvs/venv/bin/postactivate
virtualenvwrapper.user_scripts creating /home/eagle/.virtualenvs/venv/bin/get_env_details

(venv) eagle@EagleEye:~$

正在加载验证码......
请先完成验证