@
xiaozizayang 是我.
pyinstaller 之类的工具, 我都测试过. (遇到一堆坑, 浪费了蛮多时间无果)
有几个客观原因, 我的开发环境是 M1 Mac, 有不少编译问题, 是 M1 Mac 导致的.
(排错过程, 不少 issue 别的平台, 相同编译参数, 是正常的, 但是 M1 Mac 不正常. 我也没时间换个机器验证, 就放弃探索了. )
------------------------------------------------------------------------------------------------------------------------
https://github.com/better-py/learn-py/tree/main/packages/py-try/try-nicegui这个示例项目, 有多个
build.py 脚本, 以及 taskfile.yml 里也有几个编译参数.
如果你有时间折腾, 也可以继续探索 + 验证. (如果开发环境是 Windows, 说不定有些参数, 编译是正常的)
------------------------------------------------------------------------------------------------------------------------
如果你没空折腾, 我回复的绕路方案: 就是类似 Sublime Text 这种, 打包了 Python 的运行环境. (也就是 Java App 日常打包 JRE 运行时的操作)
缺点: 是增加包体积 + 每个平台都要单独打包, 优点是: 基本可以秒开.
这个方案, 成熟无坑. 最新的 Python 标准库, 提供了绿色 Python 的打包工具. 比较容易搞定.
深圳和上海, 我都各待过 4 年+. (深圳在前)
根据你的个人情况(学历/履历/籍贯).
建议: 深圳 or 广州.(更推荐广州)
=======================================================
对比一下深圳和上海: (就业机会/平台机遇)
1. 深圳. 学历门槛低, 适合职场新人, 能力稍弱的. 给更多普通人入场成长机会.
深圳就业市场, 整体的学历质量, 比北/上, 差一大截.(中位数, 别杠) 我在 2 个城市, 都做过面试官, 筛选过大量简历.
有利有弊. 下限低, 低端机会更多. 上限也低, 高收入岗位稀缺, 且更不多元化.(比北上差一个数量级)
2. 上海. 学历/能力溢出, 海归/老外, 都不少见. (如果能力不突出, 学历一般, 很难获得好的机会) 当然, 能力突出, 也能破格.
上海的就业机会更多元化. 外企/国企/私企, 都有. 类型更广. (扎堆互联网, 就卷. 合理错峰, 就可以相对不卷)
上海的就业天花板, 更高. 和海外交流更多, 平台视野更开阔. (深圳多是土狗/暴发户/血汗工厂出身的老板, 眼界窄, 没见过世面)
上海各种小资本家, 大资本家, 权贵二代出身出来的开公司的, 抗风险能力更强. (大多数初创小企业活不过 3 年)
月薪 2w+, 首选深圳.
但是, 如果你想月薪 4w+, 上海的获得速度可能远比深圳快, 且更容易.
当然, 这一切在 2019 之后, 都全面萧条/劣化.
=======================================================
对比一下生活成本:
1. 深圳 3k+ 就可以租不错的房子. 在南山上班, 多在宝安租房(比如宝体几个站) 地铁时间可控, 生活开销小, 除了吃的差一点. (美食荒漠)
2. 上海 6k+ 租房起步, 合租减半, 痛苦加倍. 6k 能租什么房子? 极其烂的爬楼梯破房子, 乡下人都不想住的. (深圳还有不错的城中村电梯房) 上海想住电梯房, 又要大一点. 基本成本就很高. 不管是 浦东, 杨浦, 虹桥, 还是徐家汇, 基本都贵.
上海有更多的美食, 玩的地方更多, 周边城市 1 小时达, 当然, 码农也没多少时间玩.
吃喝玩乐, 上海只要有钱, 都是拉满的. 深圳可玩性很差, 海边烧烤, 梧桐山, 玩几次就吐了.
=======================================================
长期规划:
1. 年轻人, 可以先去深圳. 不必纠结.
待几年, 达到瓶颈, 换个城市就好. (深圳大概 3 年摸顶, 上海 4-5 年吧, 然后思考下一站?)
2. 但, 如果规划未来出国 & 移民, 北/上 的通道/机会, 远远好过其他城市(remote/transfer/relocate).
(周围出海的老板/同事/客户/人际圈子, 都好太多, 你要亲见过周围的活人案例, 才会起心动念行动/榜样力量.)
信息差. 高质量的一手信息, 往往只在小圈子流动.
Good Luck.
推荐 rye 吧. 也是前 flask 作者出品.
https://github.com/astral-sh/rye1. 目前 应该是唯一良好支持 workspace 模式的(类似 rust cargo), 比较方便管理 monorepo.
2. 功能已经覆盖 poetry + pdm + pyenv. (这样可以完全替代 pyenv + poetry)
3. 集成 uv(替代 pip), 安装包速度更快.
成熟可靠方案: pyenv + poetry + 全局 venv 模式.
1. 过去长期使用 pyenv + poetry. 比较偏好 pyenv 的全局管理的 venv. 不过 rye 的 local venv + workspace, 就很棒, 完美规避 venv 管理的麻烦. (没有 workspace, local venv 很难管理)
不推荐: pdm
1. pdm. 短暂使用, 就弃用. 有不少 bug. 和 pyenv 协调性很差, 终端自动激活 venv, 始终有 bug.
2. 功能完备度低于 poetry, 目前更是不如 rye. (题外: 就算不用 rye, 我也不会用 pdm, 那么多人吹, 我的体验就很差)
1. 不用打包模型, 只打包源码.
2. 把模型上传到某个公开可以访问的网盘, or aws s3 这种.
3. 运行 main, 自动检测某个全局目录(比如 user/documents/your-app-cache 路径) 是否存在模型, 如果不存在, 自动下载. 存在, 直接调用模型 + 执行后续逻辑.
4. 关于步骤 2, 也可以 zip 打包: 模型文件 + 项目.exe + 一个 sh/bat 脚本, 运行 sh/bat 脚本, 自动把模型解压 + copy 到某个固定目录.
5. 结束.
想法很不错, 畅想一个方案:
1. 可以构建一个"LLM 算力/计算资源共享的去中心网络", 基于 Token 付费.
2. LLM 算力池: 所有 LLM 算力节点, 汇集到 LLM 算力池(pool).
3. LLM 挖矿节点: 执行 LLM 任务 + 共识确认.
4. LLM 任务调度机制: 矿工排队接计算任务(类似外卖抢单), 单任务多派发(避免单点失败) + 加权分润.
存在的问题:
1. LLM 网络, 是强实时系统, 对相应速度和并发性能很敏感. 这是 P2P 网络的短板.
2. P2P 比较适合分时+异步任务, 适合对实时反馈不敏感的 Job/Task.
3. 隐私泄漏: 消费者侧的 Task 数据, 容易泄露到 矿工侧, 可能存在 Task 数据加/解密问题.
4. 去中心网络模型退化: 类似 SOL, BSC 链. 可能会退化到 "半中心化网络", 才比较具备可用性. (但这样, 影响力也是降低的)
django + drf(django-rest-framework), 无脑撸 restapi, 砍瓜切菜好吧.
你觉得 django 难用, 怕是在写 template?
django 最适合做原型开发.(cms, 内网项目, demo, 用完就扔, 活不过多久的产品)
django 最适合做原型开发.(cms, 内网项目, demo, 用完就扔, 活不过多久的产品)
django 最适合做原型开发.(cms, 内网项目, demo, 用完就扔, 活不过多久的产品)
别笑: django 在原型开发(捣浆糊)阶段, 基本找不到对手. (ruby rails? laravel? who cares?)
那么问题来了:
万一成了怎么办?
1. celery+mq 异步改造来一套.
2. 还不行, grpc 改造来一套.
3. 还不行, 新重写+旧集成. 新需求使用 go/rust 写, 基于 dapr + grpc 集成旧的代码.
4. 结束. (之后的阶段, 就是赚到钱, 雇别人帮你写, 与你无关)
good luck. 😄