[Feature] Optimization suggestions for python operating environment
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 ,将会导致重启服务非常慢。
- [ ]
Please describe the solution you suggest
目前应是填写完创建的输入框后后端程序会根据填写项自动生成dockerfile进行镜像编译运行。
建议增加一栏输入框:“选择requirements.txt”让用户进行选择,然后生成的dockerfile预计是下面的样子:
如此后只要没有修改过requirements.txt则不会重新安装,第一阶段会在docker中进行缓存,那么修改自己的python程序后进行重启则会快很多
Additional Information
No response
当前没有编译 Dockerfile 是直接挂载的程序目录 然后启动的 后续版本会考虑把 pip install 的缓存目录挂载出来持久化 防止第二次启动继续下载
用python做web的人怎么少吗?没人反应
目前临时方案(将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
这样就不用重复安装包了,只修改代码可以快速重启。
v2.0.0 版本已发布。