python 2.7 - 3.5 升级之路 (一) : 准备阶段开发环境 -- pip3, vitualEnv, pycharm
背景
由于之前项目采用的版本是Python2.7, 考虑到Python 2.7 到明年(2020年后将会停止更新),以及为了更好的适应中文和拥抱新的特性。我们决定将其从python 2 升级到最新的 python 3。
实际的线上环境是Ubuntu16.04LTS,默认安装了python 2.7 & 3.5 两个版本。因此,这次的考虑实际情况后决定先升级到3.5,以后再过渡到最新的3.7.
使用pip3 匹配 python 3
pip 与 pip3 区别
- 电脑同时有多个版本的 python 时,pip3 可以自动判别用 python3 来安装库,是为了避免同 python2 发生冲突。
- 如果你的电脑仅仅安装了 python3,使用 pip 或者 pip3 是一样的。
pip install xxxxxx
新安装的库会放在后面这个目录下面:python2.7/site-packages
pip3 install xxxxxx
新安装的库会放在后面这个目录下面:python3.6/site-packages
如果使用 python3 执行程序,那么就不能 import python2.7/site-packages 中的库。
由于Ubuntu16.04默认安装有python 2.7 & 3.5 两个版本,所以,我们需要使用pip3来负责管理和使用python3的依赖。安装pip3的命令如下:
sudo apt-get install python3-pip
使用 virtualENV
什么是virtualenv
virtualenv是一个用于创建Python虚拟环境的工具。
虚拟环境又是什么呢?它是Python解释器的一个私有副本,在这个环境中可以安装私有包,而不会影响到系统中安装的全局Python解释器。
当一台主机上运行着多个Python应用时,使用虚拟环境可以有效的避免包的混乱和版本的冲突。
安装 virtualENV
sudo pip3 install virtualenv
创建virtualENV for python3
cd somedir
virtualenv -p python3 venv3
使用 pycharm 加载 virtualENV
加载 virtualENV , 如图

我们可以根据“interpreter path” 右侧的文件夹图标选择 virtualEnv 的路径 (选择:python3文件, 例如: xxx/venv3/bin/python3.5), 如图所示:

在pycharmd的terminal中安装开发的依赖包
首先,先将所有的依赖整理到一个 requirement.txt中,如下,

然后打开pycharm的terminal,使用pip3安装依赖包

完成后,pycharm 会自动感知到变更重新更新 interpreter。
到此,我们的开发环境准备工作完成。欢迎大家留言交流。
参考:
https://www.jianshu.com/p/94a047301f4a
https://blog.csdn.net/chengyq116/article/details/83794489
python 2.7 - 3.5 升级之路 (一) : 准备阶段开发环境 -- pip3, vitualEnv, pycharm的更多相关文章
- python 2.7 - 3.5 升级之路 (二) : 语法与类库升级
背景 在上一篇博文中,我们为升级python 2 -> 3已经做了一些准备.在这篇中,我们将针对语法与类库这两个方面进行讨论. 关于语法 1. print 在python3中, print 已经 ...
- Python学习之路 (一)开发环境搭建
前言 python3应该是Python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的是记录在centos6.7下搭建python3环境的过程 以及碰到的问题和解决过程. 另外,如果本机安装了py ...
- ionic2如何升级到最新版本、配置开发环境
好久没写东西了,去年用了angular2的RC版本和ionic2写了一个项目,因为开发周期和有些版本不稳定,所以一直没有升级,ng2新版本引用Aot打包,听说优化还不错,现在尝试升级ioni ...
- 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)
Hibernate是很典型的持久层框架,持久化的思想是很值得我们学习和研究的.这篇博文,我们主要以实例的形式学习Hibernate,不深究Hibernate的思想和原理,否则,一味追求,苦学思想和原理 ...
- Python基础教程(020)--集成开发环境IDE简介--Pycharm
前言 学会掌握Pycharm工具 内容 集成了开发软件需要的所有工具 1,图形用户界面 2,代码编译器(支持代码补全,自动缩进) 3,编译器,解释器 4,调试器(断点,单步执行) Pycharm介绍 ...
- 前端基于react,后端基于.net core2.0的开发之路(2) 开发环境的配置,注意事项,后端数据初始化
前端环境配置 项目介绍文章:前端基于react,后端基于.net core2.0的开发之路(1) 介绍 1.VSCode安装 下载地址:https://code.visualstudio.com/Do ...
- Python GUI界面开发环境配置:Pycharm+PyQt5
通过DoS命令行执行如下命令,可能需要管理员权限. 检查Python版本:python 更新pip版本:python -m pip install --upgrade pip 安装PyQt5: pip ...
- java攻城师之路(Android篇)--搭建开发环境、拨打电话、发送短信、布局例子
一.搭建开发环境 1.所需资源 JDK6以上 Eclipse3.6以上 SDK17, 2.3.3 ADT17 2.安装注意事项 不要使用中文路径 如果模拟器默认路径包含中文, 可以设置android_ ...
- python学习之python开发环境搭建
Python简介 Python是一种面向对象.解释型计算机程序设计语言.Python语法简洁而清晰,具有丰富和强大的类库等等众多的特性,这是来自百度百科的介绍,在百度百科还能看到它的更详细的介绍信息, ...
随机推荐
- chrome 里面js提示Provisional headers are shown错误
参考:http://stackoverflow.com/questions/21177387/caution-provisional-headers-are-shown-in-chrome-debug ...
- 【备忘】C#语言基础-1
C#基础 注意区别哟! C#是一种托管语言,与C++不同,不能直接操作系统底层,依赖于 framework. 如果局部变量和全局变量同名,全局变量就会被屏蔽. 函数的返回值类型不是签名的一部分,所以不 ...
- delphi7 stringgrid 点列头排序
最近在做stringgrid的项目, 下面delphi7 正常使用,均摘抄网路,但做过细微调整才能正常使用 首先排序的过程 procedure Quicksort(Grid: TStringGrid; ...
- Linux iostat
转自 http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.html Linux IO实时监控iostat命令详解 简介 iostat ...
- 预处理器#include 指令
预处理器发现 #include 指令后,就会寻找后跟的文件名并把这个文件的内容包含到当前文件中.被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中 ...
- 【Netty4】深入学习Netty
Netty is an asynchronous event-driven network application framework for rapid development of mainta ...
- 从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用ApplicationPart动态加载控制器和视图
标题:从零开始实现ASP.NET Core MVC的插件式开发(一) - 使用Application Part动态加载控制器和视图 作者:Lamond Lu 地址:http://www.cnblogs ...
- 39 | 从小作坊到工厂:什么是Selenium Grid?如何搭建Selenium Grid?
- Python开发【第八篇】: 网络编程
内容概要 楔子 软件开发架构 网络基础 套接字(socket) 粘包 socketserver模块 一. 楔子 现在有两个python文件a.py和b.py,分别运行,这两个程序之间需要传递一个数据, ...
- LeetCode刷题------------------------------LeetCode使用介绍
临近毕业了,对技术有种热爱的我也快步入码农行业了,以前虽然在学校的ACM学习过一些算法,什么大数的阶乘,dp,背包等,但是现在早就忘在脑袋后了,哈哈,原谅我是一枚菜鸡,为了锻炼编程能力还是去刷刷Lee ...