python+flask之初体验
IDE: JetBrains Pycharm 2019.3.1
系统架构: Python + MongoDB + Vue.js
开发前的环境配置
方式一: 使用docker
***个人觉得docker在生产环境中使用较为方便。***
官方文档:Docker docs
国内推荐:DaoCloud
Linux环境:
1. 卸载旧版本Docker:
- Ubuntu/Debian
sudo apt-get remove docker docker-engine
- RHEL/CentOS
sudo yum remove docker \ docker-common \ container-selinux \ docker-selinux \ docker-engine
- Frdora
sudo dnf remove docker \ docker-common \ container-selinux \ docker-selinux \ docker-engine
卸载完成后只是将docker卸载了,之前安装的容器镜像依然在,如果需要全新安装docker,则执行:
rm -rf /var/lib/docker/
2. 安装 Docker Engine - Community
这里以CentOS为例
1. 设置存储库:
- 安装所需软件包:
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
- 设置稳定的存储库
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
2. 安装 Docker Engine - Community
- 安装最 新版本 的Docker Engine-Community和containerd,或者转到下一步安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受GPG密钥,请验证指纹是否匹配
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,如果是,则接受它。
- 要安装特定版本的Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装
a. 列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序,并被截断:
yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
返回的列表取决于启用了哪些存储库,并且特定于您的CentOS版本(.el7在本示例中以后缀表示)。
b. 通过其完全合格的软件包名称安装特定版本,该软件包名称是软件包名称(
docker-ce
)加上版本字符串(第二列),从第一个冒号(:
)一直到第一个连字符,并用连字符(-
)分隔。例如:docker-ce-18.09.1
。sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
- 启动docker
sudo systemctl start docker
- 通过运行
hello-world
映像来验证是否正确安装了Docker Engine-Community 。sudo docker run hello-world
- 安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
注意: 如果命令docker-compose在安装后失败,请检查路径。您也可以创建指向
/usr/bin
或路径中任何其他目录的符号链接。
例如:sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试docker-compose是否安装成功:
docker-compose --version
如果输出类似于
docker-compose version 1.25.3, build 1110ad01
的语句,则表示安装成功。
- docker-compose的另一种安装方式:
sudo yum install -y docker-compose
这种方式也可以安装docker-compose
安装完成后就可以
pull
镜像了,在这之前需要配置docker
加速:
具体加速方式可以参考 阿里云服务 中的 容器镜像加速 服务:https://homenew.console.aliyun.com/
完成加速后即可拉去镜像了。docker pull {镜像名称}:{版本号}
例如python3.8和node10.16.3:
docker pull python:3.8 docker pull node:10.16.3
pull 成功后:
docker run --name Python3 -tid
方式二: 本地配置环境
1. 安装Python3.8
下载地址:Python官网
下载并安装Python3.8,并配置好环境变量,一般情况下会在安装的同时配置好环境变量。
配置成功测试:
在命令行或者终端中输入python,如果出现下图所示。即表示安装配置成功。
2. 安装pipenv
首先测试pip是否安装成功
在终端/cmd/powershell中输入
pip
如果命令可以执行,则将pip的源更换为国内源:
pip国内的几个加速镜像源:
配置pip源:
-
Linux
修改 ~/.pip/pip.conf:
打开终端:输入
cd ~ mkdir .pip touch .pip/pip.conf
此时就创建pip配置文件成功了
然后输入:vim .pip/pip.conf
进入编辑模式(按 insert 键或者 i 键),将下面的内容复制粘贴
[global] index-url = {加速地址}
例如:
[global] index-url = https://mirrors.aliyun.com/pypi/simple/
然后按ESC键,输入 :wq 保存退出即可。
-
Windows
在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,
注意: 这里需要将文件扩展名显示项勾选,否则创建的文件重命名后依然是 .txt
内容如下:
[global] index-url = {加速地址}
例如:
[global] index-url = https://mirrors.aliyun.com/pypi/simple/
之后保存即可。
换源完成后输入
pip install pipenv
进行安装pipenv
ps: 如果使用Jetbrains Pycharm,则不需要安装pipenv,因为Pycharm中自带pipenv
3. 安装nodejs(10.16.3)
下载地址:
Node.js
根据自己的电脑系统选择合适的文件下载
这里推荐使用 NVM 管理node
NVM 下载地址:
链接: NVM百度网盘下载地址
提取码: 59mi
安装完成后对 NVM 进行换源:
国内用户建议换源,如果不换,我相信你还要回来看哦!
在 命令行/终端 中执行:
nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/
使用NVM安装Node.js 10.16.3
NVM的好处:
NVM可以在电脑上没有Node.js时对Node.js进行管理
相对的n模块也可以管理Node,但是n模块只有已安装Node.js时才可以使用
NVM install <version> [arch] # The version can be a node.js version or "latest" for the latest stable version.Optionally specify whether to install the 32 or 64 bit version (defaults to system arch).Set [arch] to "all" to install 32 AND 64 bit versions.Add --insecure to the end of this command to bypass SSL validation of the remote download server.
version: 可以是 Node.js 的版本号,也可以是 latest/stable
arch: 可选项,可以是32/64/all
–insecure: 可以绕过远程下载服务器的SSL验证
例如要安装10.16.3, 64位的Node.js,则可以执行:
nvm install 10.16.3 64
待安装完成后执行:
nvm use 10.16.3
可以通过nvm list
查看已安装的版本
4. 安装MongoDB
下载地址:MongoDB官网下载地址
根据下载完成后根据相关提示安装完成后,在命令行或者终端中输入:
mongo
如果出现如下图所示的界面,则表示安装配置成功。
关于IDE(Jetbrains Pycharm 2019.3.1)激活:
***请大家支持正版,也请各位不要继续传播相关信息。***
5. 推荐IDE及tools
后端开发: Jetbrains Pycharm 2019.3
前端开发: Visual Studio Code
数据库管理: Robo3T
接口调试工具: Postman
Git管理: TortoiseGit 或者使用在本地安装git,通过vscode终端进行管理。
6. 后端依赖包的安装
在terminal中执行pipenv install
即可安装后端开发所需的包,
- 其中包括:
- flask
- flask-mongoengine
- passlib
- flask-principal
- flask-script
- flask-login
- flask-restful
- gevent
- flask-uploads
- openpyxl
如果安装不成功可以尝试在terminal
中单独执行pip install {对应的包名}
最近发现在本地虚拟机上安装CentOS可以实现本地服务器,但是还有一些问题未解决,后续会更新本地服务器的配置。
flask-mongoengine安装问题
根本原因是由于国内的加速服务问题,不过大部分时候使用阿里云即可完成flask-mongoengine的安装。
完成以上工作后即可启动后端部分,前端部分请参考我的另一篇blog前端部署。