Ubuntu部署python3.7的开发和运行环境
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 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:~$ python
Python 3.7.1 (default, Jun , ::)
[GCC 4.8.] 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的第三方库了。
但是由于官方库经常国内不能正常访问, 可以修改其为国内镜像。
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哈莫 |
|---|---|
| 作者介绍: | https://zhengwh.github.io |
| 技术博客: | http://www.cnblogs.com/beer |
| Email: | dreamzsm@gmail.com |
| QQ: | 1295351490 |
| 时间: | 2016-02 |
| 版权声明: | 欢迎以学习交流为目的读者随意转载,但是请 【注明出处】 |
| 支持本文: | 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】 |
Ubuntu部署python3.7的开发和运行环境的更多相关文章
- Ubuntu部署python3.5的开发和运行环境
Ubuntu部署python3.5的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用目前最新的 python3.5.1) ,之前的云主机的的默认python ...
- deepin系统下部署Python3.5的开发及运行环境
deepin系统下部署Python3.5的开发及运行环境 1 概述 由于最近要学习python接口自动化测试,所以记录一下相关学习经过及经验,希望对大家可以有所帮助. 2 下载 在python官网下载 ...
- Java开发和运行环境的搭建
Java开发需要准备的东西? JDK+Eclipse 其中JDK的意思是Java开发工具包,Eclipse是进行用于做Java程序开发的工具(当然你也可以用记事本什么的去做). 其他开发工具:JCre ...
- camunda BPM支持的开发和运行环境
以Camunda7.13版本为例,介绍Camunda支持的开发运行环境. 一.支持的Java开发环境 • Java版本: 8 / 9 / 10 / 11 / 12 / 13 / 14• Springb ...
- Web开发中运行环境的配置:(Tomcat7.0.59)和开发环境的配置
第一部分:运行环境的配置 1.下载压缩包,解压即可 2.配置系统变量JAVA_HOME为jdk的安装路径 3.如有需要修改端口号,比如8080已被占用的时候,可以将其改为9080等 apache-to ...
- go开发和运行环境的配置
1.运行环境的下载.安装.配置: 下载:http://www.golangtc.com/download 官网下载经常被墙屏蔽,所以就从golang中国下载; 安装及其配置:http://jingy ...
- DotNet Core 1.0 集成 CentOS 开发与运行环境部署
一. DotNet Core 1.0 开发环境部署 操作系统安装 我们使用CentOS 7.2.1511版本. 安装libunwind库 执行:sudo yum install libunwi ...
- ubuntu部署Java、Python开发环境
要部署Java开发环境首先就要安装JDK. 一.安装JDK8 1. 下载 jdk-8u172-linux-x64.tar.gz 到 /usr/java8/ 目录下: 2. tar -zxvf jd ...
- ubuntu - 14.04,安装JDK1.8(JAVA程序需要的开发、运行环境)
一,如何删除低版本的open JDK? 在ubuntn的软件中心中,如果输入"java",我们会看到open JDK,但是最高版本是1.7,也有1.6版本的,如果我们安装上去,可能 ...
随机推荐
- java 冒泡排序 day003
一.冒泡排序: 利用冒泡排序对数组进行排序 二.基本概念: 依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数, ...
- MongoDB数据库(二):增删查改
MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...
- webpack 学习小结
webpack 是一个模块打包工具(前提要安装 node使用npm来安装webpack) 1.安装webpack,webpack-cli , webpack-dev-server //全局安装 npm ...
- 公司外网测试服务器 redis 被攻击复盘
最近 公司外网的测试的 redis 服务器被攻击,最开始是用 docker 搭建的 直接裸奔在外网,任何域名都可以通过 ip+6379来访问,最开始想的是测试服务器也没有啥,后面直接就被人登陆进去改了 ...
- C++一个类对象的大小计算
计算一个类对象的大小时的规律: 1.空类.单一继承的空类.多重继承的空类所占空间大小为:1(字节,下同): 2.一个类中,虚函数本身.成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空 ...
- 平滑升级nginx到新版本
这里测试一下nginx的平滑升级,以备不时之需 查看nginx版本号: [root@zklf-server01 ~]# /application/nginx/sbin/nginx -V nginx v ...
- 洛谷p1106 删数问题 题解
传送门 # 4.24一个重要的日子.我人生中第一道7个测试点下载了5个的题目被我发现了,第一次用光下载数据点机会,真心坑点重重. 这题是一道很经典的贪心题目,可能是因为我太蒻了,导致我一直以为最少普及 ...
- RabbitMQ中交换机的消息分发机制
RabbitMQ是一个消息代理,它接受和转发消息,是一个由 Erlang 语言开发的遵循AMQP协议的开源实现.在RabbitMQ中生产者不会将消息直接发送到队列当中,而是将消息直接发送到交换机(ex ...
- linux 启动springboot项目
1.启动 nohup java -jar train-manager.jar --spring.profiles.active=test > out.log & 2.查看进程 ps -e ...
- C++ Json解析CJsonObject的详细使用
引用头文件: #include <string> #include <iostream> #include <fstream> #include <casse ...