1Panel icon indicating copy to clipboard operation
1Panel copied to clipboard

[Feature] Optimization suggestions for python operating environment

Open xiahao90 opened this issue 1 year ago • 3 comments

1Panel Version

v1.10.21

Please describe your needs or suggestions for improvements

目前在创建python环境时需要填写启动命令,系统建议的是“请填写完整启动命令,例如:pip install -r requirements.txt && python manage.py runserver 0.0.0.0:5000”,看其目的是安装扩展包与启动python程序一起执行。但是如此填写的话每次修改代码后重启都会执行一次pip install ,将会导致重启服务非常慢。 image

  • [ ]

Please describe the solution you suggest

目前应是填写完创建的输入框后后端程序会根据填写项自动生成dockerfile进行镜像编译运行。 建议增加一栏输入框:“选择requirements.txt”让用户进行选择,然后生成的dockerfile预计是下面的样子: image

如此后只要没有修改过requirements.txt则不会重新安装,第一阶段会在docker中进行缓存,那么修改自己的python程序后进行重启则会快很多

Additional Information

No response

xiahao90 avatar Dec 10 '24 01:12 xiahao90

当前没有编译 Dockerfile 是直接挂载的程序目录 然后启动的 后续版本会考虑把 pip install 的缓存目录挂载出来持久化 防止第二次启动继续下载

zhengkunwang223 avatar Dec 10 '24 02:12 zhengkunwang223

用python做web的人怎么少吗?没人反应

xiahao90 avatar Feb 08 '25 05:02 xiahao90

目前临时方案(将site-packages映射出来): 现在执行这个命令 export PYTHONPATH=/app/site-packages:$PYTHONPATH && pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/ && pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --target /app/site-packages && python admin.py

上面命令拆解: 1,在你的项目根目录建一个site-packages文件夹,用于存储包,映射进去就是/app/site-packages 2,export PYTHONPATH表示设置python包的路径 3,pip install -target /app/site-packages表示pip安装包的时候安装路径 4,python admin.py启动你的项目。(uwsgi等其他方式的话自行修改)

完了后你的项目根目录site-packages中就有下载好的包了。

将项目的命令改成如下: export PYTHONPATH=/app/site-packages: && python admin.py

这样就不用重复安装包了,只修改代码可以快速重启。

xiahao90 avatar Mar 06 '25 04:03 xiahao90

v2.0.0 版本已发布。

wanghe-fit2cloud avatar Jun 12 '25 04:06 wanghe-fit2cloud