各位大佬好, Python 如何部署

255 天前
 comeding3

兴趣自学了 python ,现在不知道怎么部署上服务器 具体应用到什么技术栈 网上搜索了一下,还是很模糊,什么都有

3483 次点击
所在节点    Python
28 条回复
Hopetree
255 天前
web 项目? Django fastapi flask 这些?使用 Supervisor 部署 Django 应用程序:https://tendcode.com/subject/article/Supervisor_gunicorn_django/
placeholder
255 天前
反正就是你把 build 之后的文件放到服务器上,然后运行就完事儿了。[doge]
cnrting
255 天前
python x.py🐶
milkpuff
255 天前
miniconda
LeegoYih
255 天前
用 Docker 方便

FROM python:3.8

WORKDIR /app
COPY . /app

RUN pip install --no-cache-dir -r requirements.txt

EXPOSE 18000

CMD ["python3.8", "app.py"]
joApioVVx4M4X6Rf
255 天前
加个专门 Python 的微信或者 QQ 群吧,v2ex 都是坏东西,你学不会的
arischow
255 天前
https://v2ex.com/t/1031166 你去问他,他说 Python 简单
v2webdev
255 天前
如果是公有云的部署环境,直接考虑 Docker 。
agegcn
255 天前
我是最简单的。git ,虚拟环境,systemctl 运行
taihengw
255 天前
这种问题现在最好的方法应该是找 ChatGPT 呀。
不过还是人工答一下,自己玩玩就直接用本地调试的方式,能跑就行,一般都是给你起个 localhost:8888 这样的端口~如果想正式部署,我用过的是 flask 框架,找个云主机,然后首先装 nginx 做代向代理,配置 nginx 把 80 端口转发到你自己定的一个端口(比如 9999 ),然后再装个 uswgi 这样的软件,这个软件会启动你的 python 服务并监听前面 nginx 转发的端口,这样就实现外部流量->80 端口->nginx 转发到 9999 端口->uswgi 软件分发给你的 python 应用去处理了
baobao1270
255 天前
Web 的话主要是 WSGI/ASGI 吧
Flask 有 gunicorn ,FastAPI 有 uvicorn ,都是官方推荐的
正式环境的话一般会套一个 Nginx ,用来做 load balancing 和 SSL offloading ,当然你用云服务厂的 Load Balancer 也是可以的
然后就是建议使用一个现代的包管理器,比如 Poetry 或者 PDM
跨版本部署的话用 pyenv
kneo
255 天前
你自己会啥?到哪一步了不会?
都能说出“部署”这个词的,按道理说应该多少会点。
yqcode
255 天前
我有详细的 windows 搭配 apache 的方案备忘...如果需要的话可以 @我
pytth
255 天前
装个 Python 环境,然后打包,nohup Python xxx.py &
pytth
255 天前
在宝塔面板上部署 Python Flask 项目主要分为以下几个步骤:

1. **环境准备**:
- 确保你的开发环境中 Python 版本与宝塔面板中安装的 Python 版本一致。例如,如果你在开发环境中使用的是 Python 3.8.6 ,那么在宝塔面板中也应选择相应的 Python 版本。
- 使用`pip freeze > requirements.txt`命令导出项目依赖,并确保`requirements.txt`文件中只包含 Flask 及其基本依赖,避免不必要的依赖导致部署失败。

2. **项目上传**:
- 将你的 Flask 项目文件上传到服务器的相应目录中,通常推荐上传到`www/wwwroot`目录下,以便于后续配置。

3. **安装 Python 项目管理器**:
- 在宝塔面板的应用商店中搜索并安装“Python 项目管理器”插件。安装完成后,进入设置界面,选择“版本管理”并安装你项目所需的 Python 版本。

4. **添加项目**:
- 在 Python 项目管理器中点击“添加项目”,填写项目名称,选择对应的 Python 版本和 Flask 框架,并设置启动方式(如 uwsgi 或 gunicorn )。
- 指定项目路径为你上传的 Flask 项目路径,设置启动文件(如`app.py`),并选择合适的端口(如 5000 或 8001 )。

5. **配置 UWSGI**:
- 根据你的项目需求配置 UWSGI ,设置`chdir`为你的项目目录,`wsgi-file`为你的启动文件,`callable`为`app`(如果你的启动文件名为`app.py`)。
- 如果端口被占用,可以通过服务器终端使用`netstat -anp | grep 端口号`查看占用端口的进程,并使用`kill -s 9 进程号`来释放端口。

6. **安装并设置 Nginx**:
- 修改 Nginx 配置文件,设置`server_name`为你的服务器公网 IP ,`root`为你的项目目录。
- 添加`location`配置,使用`uwsgi_pass 127.0.0.1:端口号;`指向你的 Flask 应用,确保端口号与 UWSGI 配置中的端口号一致。
- 配置静态文件服务,例如`location /static/`,设置`alias`为你的项目中的静态文件目录。

7. **端口放行**:
- 在服务器的安全组设置中放行你设置的端口,确保外部访问不会受到限制。
- 在宝塔面板的“安全”或“防火墙”设置中放行相应的端口。

完成以上步骤后,你的 Flask 项目应该可以在通过服务器的公网 IP 地址访问了。如果在部署过程中遇到问题,可以参考宝塔面板的官方文档或者社区中的相关教程进行排查和解决。
macaodoll
255 天前
直接 nohup 运行就行,讲究点就 docker
Ekid
255 天前
tmux 创个新窗口..然后 python xxx.py
最简单的快捷的
ZXiangQAQ
255 天前
直接上 docker 就行,手动部署容易出现环境问题
hnliuzesen
255 天前
sleepybear1113
255 天前
别信上面的说走 docker ,既然你是初学 Python ,那么学 docker 就是高射炮打蚊子,楼上那些说用 docker 的根本不是在解决新手的问题。

先给你几个搜索方向,首先确定你的是什么类型的操作系统,比如 Debian 、CentOS 、Ubuntu 、Windows 这种,不然安装命令都不一样。

然后去问 GPT ,“在 xxxx 系统下,如何安装 Python 3.x 版本的环境”( 3.x 指的是你用的 Python 版本)。

然后如果是国内的服务器,去搜索一下,或者 GPT 一下,“Python pip 换源阿里”的操作步骤,让 pip 走国内的源,下载快。

然后看看你本地在运行前有没有安装什么 pip 的包,如果没有的话不用管,不然就是 pip install xxxx 。

最后就是运行,python xxxx.py 运行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1031403

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX