最近有一个需求:
将自己的用于与ChatGpt交互的后端接口部署到云服务器上, 开发时后端是python3.10 + Flask2.2.x
阿里云服务器情况:
python --> 2.7.5
python3 --> 3.6.8
愚蠢的操作:
直接pip install Flask, 结果装了一个上古版本的flask
# flask --app ChatGptApi run --host=0.0.0.0: 报错根本没--app与--host两个选项
接下来就是一番折腾...想要弄到最新的flask...无果...搞乱了一堆东西,恢复了快照
冷静下来
Flask是我用pip安装的,版本太低有没有可能与pip有关,再接着就是与python版本太低有关?
看了下Flask官方文档:
python至少要在3.7以上, 需要更新python了
python3.6.8 --> python3.8.2
第一次想是想直接升跳到3.9, 结果编译错误了...可能centos7版本太低了? 担心python环境损坏: 恢复快照
...
首先下载python3.8.2安装包:
# wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
然后下载python3.8.2所需要的依赖包:
# yum install gcc openssl-devel bzip2-devel libffi-devel
解压python3.8.2.tgz:
# tar zxf Python3.8.2.tgz
# cd Python3...8.2
安装python3.8.2:
# ./configure --enable-optimizations
# make altinstall
安装完毕后,进入python解释器:
# python3.8.2
注意: 安装python3.8.2并不会覆盖CentOS内置的python3.6.8,使用命令python3仍然可以进入3.6.8版本,必须使用命令python3.8才能进入3.8.2版本
pip9.0.3 --> pip22.3.1
# pip --version: 19.1.1
# pip3 --version: 9.0.3
想着既然python升级了, 那么pip是不是也要升级一下:
升级pip:
# python3.8 -m pip install --upgrade pip
升级setuptool:
# python3.8 -m pip install --upgrade setuptools
查看pip3.8版本:
# pip3.8 --version: 22.3.1
开始安装Flask
# pip3.8 install Flask
# flask --version: 2.2.2
该版本的Flask已经有了--app、--host选项了
Flask运行
没什么好说的,与windows上一样的操作。有些包没有,都是用pip3.8 install的。
在阿里云centos7防火墙上开5000端口、安全组开5000端口以后,主机Postman--->阿里云Flask已经连通。惊奇的是竟然不需要为阿里云centos7配梯子就访问到了openAPI🧐
注意事项
反正以后在阿里云centos7上要用python与pip,就都用# python3.8与# pip3.8, 暂时懒得改# python与# pip的软链接
参考文章
- python3.6.8 --> python3.8.2:
- pip更新: