Flask教程-学习 Flask 的准备工作
安装编辑器和浏览器
选择编辑器
对于编辑器,可以根据个人喜好进行选择。有一些功能丰富的IDE(集成开发环境),比如PyCharm,适合于开发大型项目。另外,也可以选择一些相对轻量级的编辑器,比如VS Code或Sublime Text,它们提供了丰富的插件和扩展性。
推荐浏览器
在使用Flask时,推荐使用Firefox或Chrome等主流浏览器。它们都提供了良好的开发者工具和对Web标准的支持。
使用命令行
在本书中,我们需要使用命令行窗口来执行许多操作。对于Windows系统,可以使用CMD.exe,而对于macOS和Linux系统,可以使用终端(Terminal)。下面我们来执行一个最简单的whoami
命令,它用于显示当前计算机用户的名称。
$ whoami
sourcezww
这个命令会打印出当前计算机用户的名称。除了whoami
命令外,还有其他常用的命令,比如cd
命令用于切换目录(change directory),mkdir
命令用于创建目录(make directory)。需要注意的是,在不同的操作系统上,执行相同操作的命令可能会有所不同,在必要的地方,书中会进行相应的提示。
创建项目文件夹
我们首先需要创建一个文件夹来存放项目文件。
$ mkdir watchlist
$ cd watchlist
以上命令将在当前目录下创建一个名为watchlist
的文件夹,并进入该文件夹。从现在开始,除非特别说明,本书将默认你的工作目录是在项目的根目录,即watchlist/
目录。
Python版本检查
为了确保你已经正确安装了Python,可以执行下面的命令来检查Python的版本:
$ python --version
Python 3.9.10
在Linux和macOS中,Python 3的命令可能是python3
,例如:
$ python3 --version
Python 3.8.3
对于Windows用户,如果你对不同系统下终端命令的区别不熟悉,可以考虑在学习本教程过程中使用Git Bash作为替代,它是在安装Git for Windows后附带的终端程序。相较于系统自带的CMD.exe或PowerShell,Git Bash提供了一些在Linux或macOS下常用的命令(程序),比如ls
、cat
、nano
、ssh
等。这些命令将在本书后面的内容中用到。
提示:如果你打算继续使用CMD.exe或PowerShell,在Windows 10 1809中,可以额外安装OpenSSH程序(相关命令ssh
、ssh-keygen
)。对于旧版本的Windows,可以安装第三方OpenSSH客户端,如PuTTY,或者直接使用Git Bash来替代。
使用 Git
Git是一个流行的版本控制工具,它可以用来记录代码和文件的变更,并且支持多人协作开发。你可以将它视为一个代码备份工具。
安装Git
首先,在你的计算机上安装Git。你可以从官方网站(https://git-scm.com/downloads)下载适合你操作系统的版本。
安装完成后,打开命令行窗口,执行以下命令检查Git是否正确安装:
$ git --version
git version 2.17.1
如果没有报错,说明Git已经成功安装。
配置用户信息
为了让Git知道你是谁,在提交代码到版本库时记录你的信息,需要设置你的用户信息。执行以下命令:
$ git config --global user.name "Your Name" # 替换成你的名字
$ git config --global user.email "your-email@example.com" # 替换成你的邮箱地址
请将"Your Name"替换为你的真实姓名,将"your-email@example.com"替换为你的邮箱地址。
初始化Git仓库
现在,我们需要在项目文件夹中创建一个Git仓库。这将在项目根目录下创建一个名为.git
的文件夹。
$ git init
Initialized empty Git repository in /path/to/your/project/.git/
Git默认会跟踪项目文件夹中的所有文件的变化,但有些文件是不需要进行版本控制的,比如编译生成的文件、临时文件等。我们可以在项目根目录下创建一个.gitignore
文件,用于指定需要忽略的文件和文件夹。
$ nano .gitignore
在打开的nano编辑器中,写入需要忽略的文件规则。例如,常见的规则可以包括:
*.pyc
*~
__pycache__
.DS_Store
使用Ctrl + O
和Enter
键保存文件,然后按Ctrl + X
键退出编辑器。在后续的章节中,对于简单的文件,我们将使用nano来创建文件,但你也可以使用图形界面的编辑器来完成这些操作。
将代码托管到GitHub(可选)
这一步是可选的。如果你希望将代码托管到GitHub、GitLab或Bitbucket等平台上,以便更方便地进行备份、协作和部署,你可以在这里创建一个远程仓库。
首先,你需要注册一个GitHub账户。访问GitHub注册页面并根据指示完成注册过程。
设置SSH密钥
一般情况下,当推送本地改动到远程仓库时,需要输入用户名和密码。但由于传输通常是通过SSH加密的,因此你可以通过设置SSH密钥来省略验证账号的步骤。
首先,使用以下命令检查是否已创建SSH密钥:
$ cat ~/.ssh/id_rsa.pub
如果显示"No such file or directory",则使用以下命令生成SSH密钥对:
$ ssh-keygen
一路按下Enter
键采用默认值,最后将在用户根目录下创建一个.ssh
文件夹,其中包含两个文件:id_rsa
和id_rsa.pub
。前者是私钥,绝不能泄露;后者是公钥,用于身份认证,即我们需要将其保存到GitHub上。
再次使用前面提到的命令查看文件内容:
$ cat ~/.ssh/id_rsa.pub
输出中的内容类似于:
ssh-rsa AAAAB3Nza...省略 N 个字符...3aph book@greyli
请将输出的内容复制下来。然后,访问GitHub的SSH设置页面(导航栏头像 - Settings - SSH and GPG keys),点击"New SSH key"按钮,在"Key"输入框中粘贴复制的内容,填写一个标题,比如"My PC",最后点击"Add SSH key"按钮保存。
创建远程仓库
访问新建仓库页面(导航栏"+" - New repository),在"Repository name"处填写仓库名称,例如"watchlist",然后选择仓库类型(公开或私有)等选项,最后点击"Create repository"按钮创建仓库。
由于我们之前已经创建了本地仓库,因此需要指定本地仓库的远程仓库地址:
$ git remote add origin git@github.com:your-username/watchlist.git # 注意将"your-username"替换为你的GitHub用户名
这将为本地仓库关联一个名为"origin"的远程仓库。请注意,要将仓库地址中的"your-username"替换为你的GitHub用户名。
如果你还没有创建本地仓库,你也可以直接克隆远程仓库到本地(这将在当前目录下创建一个名为watchlist的文件夹):
$ git clone git@github.com:your-username/watchlist.git # 注意将"your-username"替换为你的GitHub用户名
请确保将"your-username"替换为你的GitHub用户名。
现在你已经安装了Git并设置了必要的配置,可以开始在项目中使用Git进行版本控制了。如果需要进一步修改内容,请告诉我。
创建虚拟环境
虚拟环境是一种独立于全局Python环境的Python解释器环境。它可以帮助我们保持全局环境的干净、为项目指定特定的库版本以及方便地管理项目的依赖项。
使用venv创建虚拟环境
我们可以使用Python 3内置的venv模块来创建虚拟环境。根据你使用的操作系统,执行以下命令在当前项目中创建一个名为env
的虚拟环境:
Windows:
$ python -m venv env
Linux 和 macOS:
$ python3 -m venv env
这将在当前目录下创建一个名为env
的文件夹,其中包含一个独立的Python解释器环境。
激活虚拟环境
创建虚拟环境后,我们需要激活它以便在其中工作。根据你使用的操作系统,执行以下命令来激活虚拟环境:
Windows:
$ env\Scripts\activate
Linux 或 macOS:
$ source env/bin/activate
一旦虚拟环境激活成功,命令提示符前会显示虚拟环境的名称,例如:
(env) $
现在你可以在虚拟环境中使用python
和pip
命令,它们会调用虚拟环境中的Python解释器和pip程序。所有安装的包都将与该虚拟环境关联。
退出虚拟环境
要退出虚拟环境,只需执行以下命令:
$ deactivate
一旦退出虚拟环境,命令提示符将恢复到全局Python环境。
安装Flask
在激活虚拟环境后,你可以使用以下命令来安装Flask:
$ pip install flask
这将安装Flask及其相关依赖包。如果你希望安装特定版本的Flask,可以使用以下命令:
$ pip install flask==2.1.3
现在,你已经创建了虚拟环境并安装了Flask,可以开始在项目中使用Flask进行开发了。