搜公众号
推荐 原创 视频 Java开发 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库
Lambda在线 > 代码笔记哥 > 简明Python2/3兼容开发环境配置

简明Python2/3兼容开发环境配置

代码笔记哥 2019-02-10
举报

   走心讲题写笔记的 代码笔记哥

以下配置适用于Mac开发环境

红色字体指代命令行中的命令

01

自带的python2


首先,当你在Mac的命令行下敲 python 回车后,你一般会看到如下信息

这说明Mac自带python2
再敲 quit() 回车,退出python2的命令行。我们今天要讲的是如何安装python3并搭建起开发环境。

02

通过Homebrew安装python3


我们可以用Homebrew安装python3。Homebrew是Mac下非常好用的包管理器(package mamnager)。假定您还没有安装Homebrew,请走以下步骤。


1. 进入Homebrew的官网 https://brew.sh/  ,复制黏贴其安装命令到您的命令行,按回车

2. 可以用如下两个命令,确认homebrew安装正确

简明Python2/3兼容开发环境配置

比如,运行完brew list,您可能看到homebrew的五个组件“gettextlibidn2libunistring opensslwget”

3. 然后,我们终于可以用homebrew安装python3啦,运行命令

简明Python2/3兼容开发环境配置

安装完成后,在命令行内输入python3,您应该能看到类似下面的内容

简明Python2/3兼容开发环境配置

说明安装python3成功了!是不是很简单?

03

用virtualenv实现不同Python项目分开管理


做为python开发者,我从网上找到了三大神器的说法:virtualenv, fabric, pip。
其中pip最为常见,它是python的包管理系统,用于安装和管理所有用python语言写成的软件包。
fabric则是一个高级的python库,用于通过SSH远程执行shell脚本命令并返回python对象。笔者倒觉得这个没那么常用。


下面是重点,很多数据科学的项目用到的包,比如numpy, panda还是基于python2系列的。但我后来又想开发网站,想用最新的python3以及它所对应的django。我不希望这两个项目有包的依赖冲突,更不希望这两个项目跟Mac本身default的python配置环境有所冲突。怎么做到?


答案就是 virtualenv


vrtualenv就是一个python的虚拟环境,中文也叫虚拟沙盒。它能把项目放在一个虚拟的环境里边,在这个环境里你使用的python版本以及安装的依赖都不会影响环境外的项目。


安装virtualenv

由于我们刚刚已经安装了python3,在python3下对应的pip是pip3。因此安装virtualenv,只需执行命令

简明Python2/3兼容开发环境配置


创建虚拟环境

virtualenv命令的用法是virtualenv [OPTIONS] DEST_DIR,其中DEST_DIR就是你要创建的虚拟环境项目的名字,[OPTIONS]就是命令参数,有一个命令参数叫--no-site-packages package。virtualenv默认是会依赖你已经装有的第三方的包的,假如你希望该虚拟环境项目绝对不依赖已有的第三方包,你可以在建立该虚拟环境的时候加上--no-site-packages package。


我们建一个虚拟环境项目试试,比如我要搞一个python3写的网页项目,名叫”py3_web_toy”,我就

简明Python2/3兼容开发环境配置

检测目录,我发现我的当前目录下派生出了”py3_web_toy”文件包,文件包具备如下结构

简明Python2/3兼容开发环境配置

OK。这么一个默认使用python3.7版的虚拟开发环境就做成了。


启动虚拟环境
在”py3_web_toy”这个目录下,输入命令

简明Python2/3兼容开发环境配置

你会发现成功启动后,命令行的前面会带上有括号的”py3_web_toy”字样。

简明Python2/3兼容开发环境配置

你再用pip list一测试,就会发现项目依赖都是基于python3的独立于”py3_web_toy”内部的了。我的可见依赖是

简明Python2/3兼容开发环境配置


退出虚拟环境

简明Python2/3兼容开发环境配置


搭建一个python2项目
我们再来试试,假如我现在要再搞一个数据科学的项目,要用python2来写,怎么办?


我可以退出”py3_web_toy”虚拟环境。然后,在virtualenv命令中通过使用--python参数指定python版本创建一个基于python2的虚拟环境。

进入”py2_data_sci”文件夹下的”lib”文件夹,我们发现对应的python版本的确为2.7了。

搞定!


长按左边二维码

关注 代码笔记哥

💡北美读书沙龙笔记

💡程序员面试讲题


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《简明Python2/3兼容开发环境配置》的版权归原作者「代码笔记哥」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

举报