Ubuntu部署python3.7的开发和运行环境
1 概述
由于最近项目全部由python2.x转向 python3.x(使用 python3.7.1) ,之前的云主机的的默认python版本都面临升级,故进行了升级后将相应的步骤记录下来,作为学习笔记吧。
服务器运行环境:
ubuntu 18 LTS Server(同样也适合14,16,还有MacOS)
本安装方式具有如下特点:
不影响已经有的python环境
增量式安装
完全隔离的沙盒环境
甚至可以不需要root权限
2 下载
在python官网下载指定平台下的python3.7.1的环境
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
例如,下载下载的文件为Python-3.7.1.tgz
3 解压
然后进行解压:
tar -xvzf Python-3.7.1.tgz
生成目录Python-3.7.1
4 安装
进入目录Python-3.7.1,进行配置:
./configure --with-ssl --prefix=/usr/local/python3
编译和安装:
make
make install
5 建立虚拟环境
使用python开发环境的时候,一般建立在虚拟环境,这样可以形成项目运行环境的隔离,防止不同依赖的项目的干扰。
进入到当前用户Home目录后,直接运行:
python3 -m venvpy3venv --without-pip
注意:pyvenv脚本在3.7.1之后的版本中逐渐废弃,鼓励使用python3 -m venv,这样可以避免搞错pyvenv所关联的版本。
如果提示没有找到 venv 命令,则安装:
sudo apt install python3-venv
记得带上 --without-pip ,否则可能报错:
Failing command: ['/root/.pyvenv/py3venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
经过上述操作,即可生成一份克隆有python3.7.1的虚拟环境,然后运行:
source ./py3venv/bin/activate
即可使当前终端环境变成python3.7.1的环境,看到终端前辍带有py3venv表明已经成功:
(py3venv) webapp@iZ25torzzzzZ:~/py3venv/bin$
然后输入命令python,就可以看到进入到python3.7.1的运行界面:
(py3venv) webapp@iZ25torzzzzZ:~$ python
Python3.7.1 (default, Jun 3 2016, 19:37:46)
[GCC4.8.4] on linux
Type"help", "copyright", "credits" or "license" for moreinformation.>>>
6 安装pip
建立虚拟环境后,下一步就是为虚拟环境安装第三方库管理工具pip
在py3venv虚拟环境下面执行:
curl https://bootstrap.pypa.io/get-pip.py|python
然后就可以在此环境下使用pip来进行管理python的第三方库了。
但是由于官方库经常国内不能正常访问, 可以修改其为国内镜像。
linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url,内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
7 常见问题-HTTPS错误提示
有时候需要升级pip时,执行:
pip install --upgrade pip
出现HTTPS的错误提示:
pip raises ImportError: cannot import name HTTPSHandler
则需要安装 libssl-dev :
sudo apt-get install libssl-dev
然后再重新编译和安装python3.7.1:
make
make install
7 后记补充
Ubuntu18之后,建议用apt方式直接安装。
MacOS则直接建议brew+pyenv的方式安装。
全自动化的,省事。
作者:
Harmo哈莫
QQ:
1295351490
时间:
2016-02
版权声明:
欢迎以学习交流为目的读者随意转载,但是请 【注明出处】
支持本文:
如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】