教你如何搭建Python开发环境

为什么要用虚拟环境?

在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如 flask、requests 等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的 Python 环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。如一下场景:

场景1:项目A需要 flask 框架1.0版本,项目B需要 flask 的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要来回的卸载安装了,这样很容易就给你的项目带来莫名的错误;

场景2:公司之前的项目需要 Python2.7 环境下运行,而你接手的项目需要在 Python3 环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用 Python3 则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。

什么是虚拟环境

在 Python 中,虚拟环境(virtual enviroment)就是隔离的 Python 解释器 环境。通过创建虚拟环境,你可以拥有一个独立的 Python 解释器环境。这 样做的好处是可以为每一个项目创建独立的 Python 解释器环境,因为不同 的项目常常会依赖不同版本的库或 Python 版本。使用虚拟环境可以保持全 局 Python 解释器环境的⼲净,避免包和版本的混乱,并且可以方便地区分和记录每个项目的依赖,以便在新环境下复现依赖环境。

pipenv

Pipenv 是基于 pip 的 Python 包管理工具,它和 pip 的用法非常相似,可以 看作 pip 的加强版,它的出现解决了旧的 pip+virtualenv+requirements.txt 的工作方式的弊端。具体来说,它是 pip、Pipfile 和 Virtualenv 的结合体,它让包 安装、包依赖管理和虚拟环境管理更加方便,使用它可以实现高效的 Python 项目开发工作流。如果你还不熟悉这些工具,不用担⼼,我们会在 下面逐一进行介绍。

安装pip和Pipenv

pip 是用来安装 Python 包的工具。如果你使用 Python2.7.9 及以上版本或 Python3.4 及以上版本,那么pip已经安装好了。可以使用下面的命令检查 pip是否已经安装:

$ pip --version

如果报错,那么你需要自己安装pip。

$ pip install pipenv

这会从PyPI( Python Package Index, Python 包索引)上下载并安装指 定的包。

可以使用下面的命令检查Pipenv是否已经安装:

$ pipenv --version 
pipenv, version 2018.11.26

创建虚拟环境

虚拟环境通常使用 Virtualenv 来创建,但是为了更方便地管理虚拟环境和依赖包,我们将会使用集成了Virtualenv的 Pipenv。首先确保我们当前工作目录在示例程序项目的根目录,即 helloflask 文件夹中,然后使用 pipenv install 命令为当前的项目创建虚拟环境:

$ pipenv install
Creating a virtualenv for this project…
Pipfile: C:\Users\Administrator\Desktop\helloflask\Pipfile
Using c:\paisen\anaconda3\python.exe (3.6.5) to create virtualenv…

这会为当前项目创建一个文件夹,其中包含隔离的Python解释器环 境,并且安装pip、wheel、setuptools等基本的包。因为示例程序仓库里包 含Pipfile文件,所以这个文件中列出的依赖包也会一并被安装,下面会具 体介绍。

默认情况下,Pipenv会统一管理所有虚拟环境。

在Windows系统中, 虚拟环境文件夹会在 C:\Users\Administrator\.virtualenvs\ 目录下创建

Linux或macOS会在~/.local/share/virtualenvs/ 目录下创建。

虚拟环境文件夹的目录名称的形式为“当前项目目录名+一串随机字 符”,比如 helloflask-ux2VzA4m。

使用

在单独使用Virtualenv时,我们通常会显式地激活虚拟环境。在Pipenv 中,可以使用pipenv shell命令显式地激活虚拟环境:

$ pipenv shell 
Loading .env environment variables… 
Launching subshell in virtual environment. Type 'exit' to return

当执行pipenv shell或pipenv run命令时,Pipenv会自动从项目目录下 的.env文件中加载环境变量。

Pipenv会启动一个激活虚拟环境的⼦shell,现在你会发现命令行提示 符前添加了虚拟环境名“(虚拟环境名称)$”,比如:

(helloflask-ux2VzA4m)$

这说明我们已经成功激活了虚拟环境,现在你的所有命令都会在虚拟 环境中执行。当你需要退出虚拟环境时,使用 exit 命令。

pipenv常用命令

pipenv install 创建一个虚拟环境

pipenv shell 激活虚拟环境,exit 退出虚拟环境

pipenv install requests 安装 Python 包,pipenv install django==1.11.7 安装制定版本的包

pipenv uninstall requests 卸载包

pipenv graph 查看安装的包,以及依赖的其他包

pipenv update flask 更新

安装Flask

下面使用pipenv install命令在我们刚刚创建的虚拟环境里安装Flask:

$ pipenv install flask
Installing flask...
Adding flask to Pipfile's [packages]...
Installation Succeeded

集成开发环境

如果你还没有顺手的文本编辑器,那么可以尝试一下IDE(Integrated Development Enviroment,集成开发环境)。对于新手来说,IDE的强大和 完善会帮助你高效开发Flask程序,等到你熟悉了整个开发流程,可以换用 更加轻量的编辑器以避免过度依赖IDE。下面我们将介绍使用PyCharm开发 Flask程序的主要准备步骤。

下载并安装PyCharm

打开PyCharm的下载页面(http://jetbrains.com/pycharm/download/ ), 单击你使用的操作系统选项卡,然后单击下载按钮。你可以选择试用专业版(Professional Edition),或是选择免费的社区版(Community Edition)。

专业版有一个⽉的免费试用时间。如果你是学生,可以申请专业版的免费授权。专业版提供了更多针对 Flask 开发的功能,比如创建 Flask 项目模板,Jinja2语法高亮,与 Flask 命令行功能集成等。做项目开发,比较推荐使用专业版。

步骤2 创建项目

安装成功后,初始界面提供了多种方式创建新项目。这里可以单 击“Open”,选择我们的 helloflask 文件夹即可。

步骤3 设置Python解释器

因为PyCharm集成了 Pipenv ⽀持,为项目设置正确的 Python 解释器就行了。单击菜单栏中的File→Settings打开设置,然后单击Project:helloflask-Project Interpreter选项打开项目Python解释器设置窗口,选择 pipenv 就好。

推荐阅读更多精彩内容