文章目录
前言
本文所选用的环境是pycharm + pipenv + flask
其中Pipenv是基于pip的Python包管理工具, 它和pip的用法非常相似, 可以看作pip的加强版, 它的出现解决了旧的pip+virtualenv+requirements.txt的工作方式的弊端。 具体来说, 它是pip、 Pipfile和Virtualenv的结合体, 它让包安装、 包依赖管理和虚拟环境管理更加方便, 使用它可实现高效的Python项目开发工作流。
pipenv准备
pipenv 安装
pip install pipenv
如果你不想全局安装, 可以添加–user选项执行用户安装(即pip install--user pipenv
) , 并手动将用户基础二进制目录添加到PATH环境变量中
创建虚拟环境
在Python中, 虚拟环境(virtual enviroment) 就是隔离的Python解释器环境。 通过创建虚拟环境, 你可以拥有一个独立的Python解释器环境。 这样做的好处是可以为每一个项目创建独立的Python解释器环境,因为不同的项目常常会依赖不同版本的库或Python版本。
使用虚拟环境可以保持全局Python解释器环境的干净, 避免包和版本的混乱, 并且可以方便地区分和记录每个项目的依赖, 以便在新环境下复现依赖环境。虚拟环境通常使用Virtualenv来创建, 但是为了更方便地管理虚拟环境和依赖包, 我们将会使用集成了Virtualenv的Pipenv。 确保我们当前工作目录在项目的根目录下,然后使用如下代码创建虚拟环境:
pipenv install
这会为当前项目创建一个文件夹, 其中包含隔离的Python解释器环境, 并且安装pip、 wheel、 setuptools等基本的包。
默认情况下, Pipenv会统一管理所有虚拟环境。 在Windows系统中, 虚拟环境文件夹会在C: \Users\Administrator.virtualenvs\目录下创建, 而Linux或macOS会在~/.local/share/virtualenvs/目录下创建。 如果你想在项目目录内创建虚拟环境文件夹, 可以设置环境变量PIPENV_VENV_IN_PROJECT, 这时名为.venv的虚拟环境文件夹将在项目根目录被创建。
虚拟环境文件夹的目录名称的形式为“当前项目目录名+一串随机字符”, 比如hiflask-5Pa0ZfZw。
你可以通过–three和–two选项来声明虚拟环境中使用的Python版本(分别对应Python3和Python2) , 或是使用–python选项指定具体的版本号。 同时要确保对应版本的Python已经安装在电脑中。
激活虚拟环境
显式激活虚拟环境
pipenv shell
当执行该命令时候pipenv会启动一个激活虚拟环境的子shell
隐式激活虚拟环境
这个命令允许你不显式激活虚拟环境即可在当前项目的虚拟环境中执行命令:
pipenv run python hello.py
管理依赖
一个程序通常会使用很多的Python包, 即依赖(dependency) 。 而 程序不仅仅会在一台电脑上运行, 程序部署上线时需要安装到远程服务 器上, 而你也许会把它分享给朋友。 如果你打算开源的话, 就可能会有 更多的人需要在他们的电脑上运行。 为了能顺利运行程序, 他们不得不 记下所有依赖包, 然后使用pip或Pipenv安装, 这些重复无用的工作当然 应该避免。 在以前我们通常使用pip搭配一个requirements.txt文件来记录 依赖。 但requirements.txt需要手动维护, 在使用上不够灵活。 Pipfile的出 现就是为了替代难于管理的requirements.txt。
在创建虚拟环境时, 如果项目根目录下没有Pipfile文件, pipenv install命令还会在项目文件夹根目录下创建Pipfile和Pipfile.lock文件, 前 者用来记录项目依赖包列表, 而后者记录了固定版本的详细依赖包列 表。 当我们使用Pipenv安装/删除/更新依赖包时, Pipfile以及Pipfile.lock 会自动更新。
当需要在一个新的环境运行程序时, 只需要执行pipenv install命 令。 Pipenv就会创建一个新的虚拟环境, 然后自动从Pipfile中读取依赖 并安装到新创建的虚拟环境中。
Flask 安装
pipenv install flask
pycharm 搭建Flask集成开发环境
关于如何安装pycharm在这里不再详细介绍,此处重点介绍如何利用虚拟环境来搭建Flask集成开发环境
设置python解释器
在创建了项目之后,为了使用我们虚拟环境中的python解释器,需要进行相应的设置:
我们需要手动使用 pipenv命令安装依赖, 同时还需要为项目设置正确的Python解释器。
- 单击菜单栏中的File→Settings打开设置
- 然后单击Project: mycode Project Interpreter选项打开项目Python解释器设置窗口, 如下图所示。
- 单击选择字段右侧的设置图标, 然后单击“Add Local Python Interpreter”, 在弹出的窗口选择Virtualenv Enviroment→Existing enviroment, 在下拉框或是自定义窗口找到我们之前创建的虚拟环境中 的Python解释器路径, 如下图所示。
正确设置以后, 重新创建一个Terminal会话, 你会发现命令行提示 符前出现了虚拟环境名称, 说明虚拟环境已经激活。 以后每次打开项 目, PyCharm都会自动帮你激活虚拟环境, 并且把工作目录定位到项目根目录。 具体行为你也可以在Settings→Tools→Terminal中设置。
使用pycharm运行服务器
首先, 在PyCharm中, 单击菜单栏中的Run→Edit Configurations打 开运行配置窗口。 下图中标出了在PyCharm中设置一个运行配置的具体 步骤序号。
- 步骤1 单击左侧的“+”符号打开下拉列表。
- 步骤2 新建一个Python类型的运行配置(如果你使用的是专业版, 则可以直接选择Flask server) , 并在右侧的Name字段输入一个合适的名称, 比如“Run hello”。
- 步骤3 勾选“Single instance only”。
- 步骤4 将第一项配置字段通过下列选项选为“Module Name”。
- 步骤5 填入模块名称flask。
- 步骤6 第二栏的“Parameters”填入要执行的命令run, 你也可以附加其他启动选项。
- 步骤7 在“Working directory”字段中选择程序所在的目录作为工作
目录。 - (可选)可以设置运行模式为
debug
模式,这样每次修改代码之后,我们书写的程序可以自动更新生效,避免每次都需要重新启动服务
tips
我们可以单击左上方的复制图标复制一份配置, 然后稍加修改就可 以用于其他flask命令, 包括扩展提供的命令, 或是我们自定义的命令。