在centos7上部署windows写好的flask项目

服务器环境准备

首先要准备好对应的python,服务器自带python2,如果要python3需要手动下载安装
并且最好是准备好virtualenv虚拟环境,方便程序环境独立运行不会发生包的冲突

pycharm flask项目文件目录

这是一个windows下写好的flask项目
这里写图片描述
venv是pycharm帮忙创建好的虚拟环境
这里写图片描述
用里面带有的python.exe是可以用来运行项目的,也就是说windows下写好的项目,直接拷到其他windows电脑上是可以直接运行的,同理如果用Linux写好的项目就可以直接在其他Linux上跑。但是他们的虚拟环境并不是跨平台的。

使用XFTP5工具直接将整个项目拷贝到服务器上

windows下的虚拟环境Linux上用不上,可有可无

激活虚拟环境

用相应的python版本进入到项目目录激活虚拟环境

[root@Foehn ~]# cd flask/
[root@Foehn flask]# virtualenv venv
Using base prefix '/usr/local/python3'
New python executable in /root/flask/venv/bin/python3
Also creating executable in /root/flask/venv/bin/python
Installing setuptools, pip, wheel...done.
[root@Foehn flask]# source venv/bin/activate

调用 activate 指令后命令符前就会出现 (venv) 字样。 可通过 deactivate 退出虚拟环境。可以放心安装包了

(venv) [root@Foehn flask]# 

安装依赖包

可以通过项目下的pip文件通过freeze命令生成requirements.txt的方式
这里写图片描述
这里写图片描述
到对应环境下

pip install -r requirements.txt

来自动安装所需的python包,但是经过实验发现windows下的包还是和Linux的包版本有很大差别,小项目还是手动安装所需的包吧,也可以按照格式手工配置一个requirements.txt,不指定后面的版本也行
直接在虚拟环境下pip install就好

包安装完成

简单测试运行一下flask
将main函数中的app.run修改

if __name__ == '__main__':
    app.run(host='0.0.0.0')

虚拟环境下运行

Successfully installed numpy-1.14.1
(venv) [root@Foehn flask]# python main.py
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 493-808-566

效果

这是在本机运行的效果
这里写图片描述
这是在服务器上的效果
这里写图片描述

问题解决

python3代码中print中带有中文的变量会报错
原因可能是Linux的LANG没有设置为中文
将系统设置为中文

[root@Foehn ~]# zh_CN.UTF-8

猜你喜欢

转载自blog.csdn.net/qq965194745/article/details/79409690