Ubuntu部署python3.5的开发和运行环境

Ubuntu部署python3.5的开发和运行环境

1 概述

由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python版本都面临升级,故进行了升级后将相应的步骤记录下来,作为学习笔记吧。

服务器运行环境:

  • ubuntu 14 LTS Server

本安装方式具有如下特点:

  • 不影响已经有的python环境
  • 增量式安装
  • 完全隔离的沙盒环境
  • 甚至可以不需要root权限

2 下载

python官网下载指定平台下的python3.5的环境

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

例如,下载下载的文件为Python-3.5.1.tgz

3 解压

然后进行解压:

tar -xvzf Python-3.5.1.tgz

生成目录Python-3.5.1

4 安装

进入目录Python-3.5.1,进行配置:

./configure --with-ssl --prefix=/usr/local/python35

编译和安装:

make
make install

5 建立虚拟环境

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

由于python3.5中自带有pyvenv工具,所以也不必再重新安装了virtualenv的三方库了:

webapp@iZ25torzzzzZ:/usr/local/python35/bin$ ll|grep pyvenv
lrwxrwxrwx 1 webapp webapp       10 Jun  3 19:44 pyvenv -> pyvenv-3.5*
-rwxrwxr-x 1 webapp webapp      245 Jun  3 19:44 pyvenv-3.5*

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

/usr/local/python35/bin/pyvenv py3venv

即可生成一份克隆有python3.5.1的虚拟环境,然后运行:

source ./py3venv/bin/activate

即可使当前终端环境变成python3.5.1的环境,看到终端前辍带有py3venv表明已经成功:

(py3venv) webapp@iZ25torzzzzZ:~/py3venv/bin$

然后输入命令python,就可以看到进入到python3.5.1的运行界面:

(py3venv) webapp@iZ25torzzzzZ:~$ python
Python 3.5.1 (default, Jun  3 2016, 19:37:46)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

6 安装pip

建立虚拟环境后,下一步就是为虚拟环境安装第三方库管理工具pip

py3venv虚拟环境下面执行:

curl https://bootstrap.pypa.io/get-pip.py|python

然后就可以在此环境下使用pip来进行管理python的第三方库了。

7 常见问题-HTTPS错误提示

有时候需要升级pip时,执行:

pip install --upgrade pip

出现HTTPS的错误提示:

pip raises ImportError: cannot import name HTTPSHandler

则需要安装 libssl-dev :

sudo apt-get install libssl-dev

然后再重新编译和安装python3.5:

make
make install

作者:

Harmo哈莫

作者介绍:

https://zhengwh.github.io

Email:

dreamzsm@gmail.com

QQ:

1295351490

时间:

2016-02

版权声明:

欢迎以学习交流为目的读者随意转载,但是请 【注明出处】

支持本文:

如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

Log4j官方文档翻译(一、基本介绍)

简介 log4j是使用java语言编写的可靠的、快速的、灵活的日志框架,它是基于Apache的license。 log4j支持c,c++,c#,perl,...

1985
来自专栏网络

Tomcat服务器+JSP页面+MySQL数据库网站部署

一、关于Tomcat Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由A...

1K6
来自专栏difcareer的技术笔记

CrashDumpInstallSym.sh

在breakpad: Native crash 日志收集工具中,详细介绍了breadpad的使用流程,但是在实际操作过程中,发现有如下问题需要解决:

955
来自专栏张善友的专栏

Devops step by step

接着上次分享的devops历程[Followme Devops实践之路], 大家希望能够出一个step by step手册, 那今天我就来和手把手来一起搭建这么...

1973
来自专栏前端开发

Jenkins配合github实现前端项目自动化构建部署

大家以前写前端项目部署,可能都是手动运行命令,打包完,然后压缩,再利用FTP、Xshell等这类的工具上传到服务器解压。也或者你不会操作,你认为这些事情是运维做...

2293
来自专栏jmeter高手高高手

JMeter(十四)-自动生成测试报告

1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t test.jmx -l result.jtl -e -o /tmp/ResultReport...

1704
来自专栏北京马哥教育

史上最详细linux启动过程讲解---没有之一

对于linux系统的初学者来说,理解并掌握linux系统启动流程能够使你够深入的理解linux系统,还可以通过系统的启动过程来分析问题解决问题。 Linux...

3716
来自专栏FreeBuf

一款针对WordPress网站的渗透测试框架

今天给大家介绍的是一款名叫Wordpress Exploit Framework的Ruby框架,研究人员可利用该框架来研发或使用其自带某开来对由WordPres...

1160
来自专栏技术博文

mkdir dxs

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管...

2688
来自专栏ytkah

laravel用crud修改产品items-新建resource controller和routing

  前面我们创建了laravel简单的items产品api,但是需要在数据库添加,如何在网页上直接添加呢?我们可以用view来操作crud(增加Create、读...

993

扫码关注云+社区