是时候配置一个Python3的开发环境了

Python 2 还有一年多的时间(如下图)就将不维护了,对于我来说,工作之余主要使用 Python 2,后续一段时间打算学习 Python 3 的编程,将写过的代码转换为 Python,这一篇主要从安装、环境配置、包安装、编辑器的角度谈谈如何在 Python 3下开发,正所谓磨刀不误砍柴工,这一系列学习对于过渡到 Python 3 非常重要。

是时候配置一个Python3的开发环境了_第1张图片
python2 deadline

Linux 环境

Python 2 和 Python 3 是能够并存的,可以采用多种方式安装。

抛开工作,我主要在 Ubuntu 下编写 Python 代码,采用 Apt 方式安装软件非常方便,比如:

$ apt-get install software-properties-common
$ add-apt-repository ppa:deadsnakes/ppa
$ apt-get update
$ apt-get install python3.7

在安装的时候,总是不能成功连接 ppa.launchpad.net,所以选择源码的安装方式,比如:

$ wget "https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz"
$ more README.rst

$ configure
$ make 
$ make install 

安装完成后,可以并行运行两个版本的 Python,命令运行如下:

$ python3.7 -V
$ python -V

在开发代码的时候,必然要安装一些包和库,pip 作为流行的 Python 安装包工具,在两个 Python 版本下使用会不会有冲突?不会有冲突,因为 pip 程序名称都不同。

Python 2 使用 pip:

$ pip list

安装的包都在 sys.path 目录(/usr/local/lib/python2.7/dist-packages)。

在 Ptyhon 3 中,pip3 默认是安装的,运行:

$ pip3 list   

安装的包都在 sys.path 目录(/usr/local/lib/python3.7/site-packages)。

在开发的时候,有的时候我们想在沙箱中进行开发,避免不同版本软件依赖的问题,必然会用到 virtualenv,在两个 Python 版本下会冲突吗?经过测试,pip3 安装的 virtualenv 能够兼容 Python 2。

首先卸载旧 virtualenv,然后安装新 virtualenv:

$ pip uninstall virtualenv
$ pip3 install virtualenv

创建不同版本的虚拟环境:

$ virtualenv --version 

# 启动 python3 
$ virtualenv -p  /usr/local/bin/python3.7 mypython

# 启动 python2
$ virtualenv mypython

然后在虚拟环境下运行:

$ source mypython/bin/activate

(mypython) root@ns:$ ~/python# python -V

# pip3 install ywdblogmath 失败,所以手动安装 ywdblogmath 包的 tar.gz 文件
(mypython) root@ns:$ pip install "https://files.pythonhosted.org/packages/96/66/43e6df87373557553be2b4343db27d008c6dcefa110ccff38cba1459ca07/ywdblogmath-0.1.tar.gz" 

$ ll ~/python/mypython/lib/python3.7/site-packages/ywdblogmath

# 关闭虚拟环境
(mypython) root@ns:$ deactivate

Windows 环境

在 Windows 下安装更简单,pip3、virtualenv 都是在命令行下运行,和在 Linux 环境运行并无两样。

首先去官网下载最新版本 python 即可,如图:

是时候配置一个Python3的开发环境了_第2张图片
windows安装python3

安装完成后,也会配置环境变量,不过是在用户环境变量配置的,Python 2 还是优先级最高,如图:

是时候配置一个Python3的开发环境了_第3张图片
环境变量

安装完成后,在命令行中运行:

cmd

Sublime

我个人喜欢在 Windows Sublime 下开发代码,按 ctrl+b 运行代码的时候,默认使用的是 Python2 解析器,那么如何支持用 Python 3 运行呢?

打开 tools 工具菜单,配置一个新的 Build System,如下图:

是时候配置一个Python3的开发环境了_第4张图片
cmd

输入以下代码并保存为 python3.sublime-build 文件:

{
 "cmd": ["C:\\Users\\ywdblog\\AppData\\Local\\Programs\\Python\\Python37-32\\python.exe", "-u", "$file"],
 "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
 "selector": "source.python"
}

然后手动选择 tool->Build System->python3,后续再运行 ctrl+b 的时候,就会使用 Python3.7 解析代码了。

最后,不管是 Linxu 还是 Windows,很多软件都会用到 Python,默认使用的 Python 版本依赖于环境变量,统一变更为 Python 3.7 显得有点激进,可以在遇到问题的时候,手动修改为 Python 3.7 解析器。如果你强行要设置 Python3.7 为默认解析器,在 Linux 中运行:

ln -s /usr/bin/python /usr/bin/python3.7  

你可能感兴趣的:(是时候配置一个Python3的开发环境了)