@
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, 那么多人吹, 我的体验就很差)