博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu部署python3.7的开发和运行环境
阅读量:6934 次
发布时间:2019-06-27

本文共 2043 字,大约阅读时间需要 6 分钟。

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

编译和安装:

makemake install

5 建立虚拟环境

使用python开发环境的时候,一般建立在虚拟环境,这样可以形成项目运行环境的隔离,防止不同依赖的项目的干扰。

进入到当前用户Home目录后,直接运行:

python3 -m venv py3venv  --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:~$ pythonPython 3.7.1 (default, Jun  3 2016, 19:37:46)[GCC 4.8.4] on linuxType "help", "copyright", "credits" or "license" for more information.>>>

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:

makemake install

 

7 后记补充

Ubuntu18之后,建议用apt方式直接安装。

MacOS则直接建议brew+pyenv的方式安装。

全自动化的,省事。

 


作者: Harmo哈莫
作者介绍:
技术博客:
Email:
QQ: 1295351490
时间: 2016-02
版权声明: 欢迎以学习交流为目的读者随意转载,但是请 【注明出处】
支持本文: 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】
 

 

 

 

 

 

转载于:https://www.cnblogs.com/beer/p/5557497.html

你可能感兴趣的文章
《Pro ASP.NET MVC 3 Framework》学习笔记之五【依赖注入及ninject工具使用】
查看>>
综合应用WPF/WCF/WF/LINQ之三:采用用代码创建的方式实现CheckListBox的CustomControl
查看>>
【原创】用MySQL 生成随机密码-增加大写处理
查看>>
读源码Apache-commons-lang3-3.1(三)
查看>>
C#复制、粘贴文本信息到剪贴板
查看>>
单IP无TMG拓扑Lync Server 2013:边缘服务器
查看>>
WebService大讲堂之Axis2(8):异步调用WebService
查看>>
FlashBuilder(FB/eclipse) 打开多个无效
查看>>
广播的接收与处理
查看>>
理解Kubernetes(2): 应用的各种访问方式
查看>>
由浅入深CIL系列【目录索引】+ PostSharp AOP编程【目录索引】
查看>>
js禁止用户右键等操作
查看>>
oracle表空间压缩
查看>>
Apache Spark Jobs 性能调优
查看>>
C# HashTable的用法总结
查看>>
如何在本机搭建SVN服务器【转】
查看>>
Oracle开发常用函数与存储过程
查看>>
修改PHP上传文件大小限制的方法
查看>>
OLAP与OLTP介绍
查看>>
Mac 安装md5sum等
查看>>