V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ClericPy  ›  全部回复第 83 页 / 共 136 页
回复总数  2705
1 ... 79  80  81  82  83  84  85  86  87  88 ... 136  
@yuexuan #15 小项目没有问题, 不过更新还是有点频繁, 就像楼上说的文档过期问题我就遇到至少 3 次(不光 fastapi), 然后 /doc 在嵌入 sub app 的时候会访问 /openapi.json 而忽略前缀这种 issue 这两天刚遇到, 简而言之, 还是很多小毛病, 毕竟诞生不久, issue 还要人修, 功能层面各种新 feature 层出不穷, 稳定性还是有点玄乎, 但是内核层面目前来说没有什么大毛病

大项目在线上环境反正是关闭 /doc 的, 也没有什么大问题, 先体验一下吧, 我是搭配 databases 兼容多种数据库(底层用 sqlalchemy 做 orm 相关, 虽然大部分也是在用原生 sql), 配套的协程库, 有 aiolibs 和 encode 两个组织背书, 几乎遇不到我找不着库的情况了, 就算遇到了, 也是一句 run_in_executor 先跑着. 这框架真用了以后发现, 最舒服的地方就是: 以前的框架为什么不这么设计, 太神奇了. 里面很多设计给人眼前一亮的感觉, 上次这种感觉是: Bottle 的装饰器路由 和 线程隔离的全局 request 变量.
之前就半个月撸了一个体验了一把, 不过代码让我写刺了(过渡设计, 最后乱套了), 就不推荐了
2020 年 3 月 20 日
回复了 miniyao 创建的主题 Python pip 怎么解决依赖库的版本冲突问题?
遇到过一次... 魔改了最小的那个库, 后来还是有问题, 直接弃用这种不更新的库了...
2020 年 3 月 20 日
回复了 chenexe 创建的主题 程序员 大家好 想问下 py 处理长路径该怎么做
尽早使用 pathlib

过长的情况按理说不会有问题, 你判断的时候打印出来看看路径是不是转义了, Windows 上默认确实是用反斜杠的, 好像和 DOS 年代什么什么规范有关系
@janxin #5
嗯, 就是想到 Spring 生态那么好的例子太少了

@frostming #7 这回是来吐槽它更新有点频繁了, 毕竟还不是 1.0 版本, 平时用上它也是找个协程环境的框架使. 顺便问个小问题, 那个 pdm 昨天更新用了下, pdm add xxx 的时候如果依赖库特别多, 偶尔一个库会因为 pypi 官网连接超时导致整个下载安装过程 crash, 下次安装又成从头开始了, 除了一个个安装依赖, 有什么办法加点超时重试么
starlette 足够稳定, fastapi 更新还比较频繁, 看他们官网上, 用 fastapi 的那几个, 多数还是内部产品时候用...
不过得看项目类型吧, golang 那么新兴, gin 就算用户多, 也没到一统江湖的地步, 不也一样上大项目
2020 年 3 月 19 日
回复了 haoyu7 创建的主题 Python 使用 django 开发的网站,响应速度很慢怎么办
感觉不像 Django 的问题, 也没代码你让人怎么猜啊, 最无脑的给个建议, scp/wget 传输试试上下行多少秒吧
2020 年 3 月 17 日
回复了 black11black 创建的主题 Django Django 这性能,也慢的太夸张了.......
@laike9m #24
@a852695 #35
确实啊, 当年用 Bottle 的时候还没有 type hints, 一路基本上就是套装饰器然后返回 dict, 也不用我去拿 dict 包装 response
去年用 starlette 感觉一路很标准的中规中矩, 各方面设计都非常严格合理, 当时对 fastapi 的感觉就是一堆语法糖
真用上 fastapi 是今年, 这货的设计思路太美了, "真现代框架", 对 python 来说业务逻辑要思考的它大部分都简化了, 语法也省了很多

最喜欢的就是

通过类型注解自动做好类型转换, 毕竟前端 input 提交上来几乎就是字符串了, 被 pydantic 自动转对应类型 (int, Path, dict), 尤其是 pydantic + databases 操作数据库, 增删改查时候简直就是自带类型转换的轻量级 ORM
结合上面的操作, 以及提交 JSON 时候自动转对象, 写东西那叫舒服, 以前最头疼的类型验证替我兼容好了 int str 之类的互转, params 也是, 早前还觉得为这个丢性能不值得, 现在比什么都香, 让一个强类型语言做到类型的智能转换, 省了太多时间和代码了

PS: 昨晚上升级了下 mypy, 本来没报错的代码, 90% 全标红了... 最新版太严格了
2020 年 3 月 17 日
回复了 black11black 创建的主题 Django Django 这性能,也慢的太夸张了.......
@black11black #18 另: 真指望 WSGI 下的 python 跑性能, falcon 算是比较硬了那一批了, 最近虽然也多了不少有 Cython 加成的新库, 但这个是真的又快又稳
最近因为很多代码写在协程里, 所以没怎么看过 WSGI 什么样子了, 毕竟: DRF 作者都去开发 uvicorn + starlette 了, 在 starlette 基础上另一个人搞的 fastapi, 最近用了半个月, 那体验无限接近人生第一次接触后端时候用 Bottle 的感觉, 闭着眼就写...
2020 年 3 月 17 日
回复了 black11black 创建的主题 Django Django 这性能,也慢的太夸张了.......
@black11black #18 Django 在 ASGI 方面也算是先驱了... 所以一直好奇, 那么肿的一个框架, 就算用上 ASGI, 但大部分业务代码也是纯 python 的话, 性能还是吃亏, 就想看看有没有什么体验过的介绍下
2020 年 3 月 16 日
回复了 black11black 创建的主题 Django Django 这性能,也慢的太夸张了.......
点进来以前以为会看到 channels 的...
@z25853 #38

这... 该不会就是下载时候在云端把路径检查了下敏感词吧...

如果是 txt pdf 之类的文件解析内部内容再提交到云上应该就违法了(虽然没仔细读用户协议)

现在用着 TIM 里的盘, 也基于微云的, 不知道会有这问题么
linux 上经常遇到超过最大 fds 数量, 得改内核配置 ulimit 什么的

Windows... 何必要用这玩意做生产环境呢, 搜搜 Windows 怎么提高默认最大 file handles 或者 file descriptors 吧... 老早以前还真找过, 忘了什么结果了, 最后被友军劝退别用 Windows
2020 年 3 月 15 日
回复了 onice 创建的主题 Python Python 有必要自己写类型判断吗?
type hints 配合 mypy, 代码没执行就看到一大堆错误类型的报错

type hints 配合 pydantic, 类型不对的会尝试转换, 转换失败会报错, 类似于 var: int = '123' => 123, path: Path = '/' => Path('/')
2020 年 3 月 15 日
回复了 SorRines 创建的主题 Python 自学 Python 小白求遇到不懂 求指教
第二个 if 开始都改成 elif
用 py 搞过 chrome 导出的 curl 转 requests args dict, 算是比较有用的吧, 关键信息转 JSON, 标准化+持久化, 平时抓包拿个 curl 一句不改就在代码里存了请求 meta, 还是挺好用的, golang 这边没找到类似的
2020 年 3 月 14 日
回复了 vcent 创建的主题 Python pymysql 如何避免高并发处理同一条数据问题 谢大佬
虽然没太看明白整个需求...

不过操作 mysql 避免脏读什么的一般我也就三个套路: 锁写缓存读, 偶尔用队列, 重要操作丢给事务...
2020 年 3 月 14 日
回复了 Cy86 创建的主题 Python Python 爬虫并发极限是多少呢?
并发极限没测过, 反正协程自己跑就挺快了, requests + 多线程大概比 httpx 协程慢个 10%, gevent 不测

Test without uvloop, 12 logical CPUs.
Windows-10-10.0.18362-SP0
3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)]
================================================================================
test_aiohttp(3.6.2) : 2000 / 2000 = 100.0%, cost 1.158s, 1727 qps, 100.0% standard.
test_httpx(0.11.1) : 2000 / 2000 = 100.0%, cost 3.927s, 509 qps, 29.47% standard.

Test with uvloop, 1 logical CPUs.
Linux-4.15.0-13-generic-x86_64-with-Ubuntu-18.04-bionic
3.7.3 (default, Apr 3 2019, 19:16:38)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]]
================================================================================
test_aiohttp(3.6.2) : 2000 / 2000 = 100.0%, cost 0.698s, 2866 qps, 100.0% standard.
test_httpx(0.11.1) : 2000 / 2000 = 100.0%, cost 2.337s, 856 qps, 29.87% standard.

以前随手测的, 请求本地 golang 只带 net/http 的 server
2020 年 3 月 13 日
回复了 Ritter 创建的主题 Python gevent 为什么打了猴子补丁 还是会出现无限递归错误?
@Ritter #17 是啊, 就是 patch 位置不对, 一定要在第一行要执行的代码里打, 用多了就习惯了, 三四年没碰过 gevent 了...
2020 年 3 月 13 日
回复了 Ritter 创建的主题 Python gevent 为什么打了猴子补丁 还是会出现无限递归错误?
在 docker 里调试如果费劲, 可以用最短案例先复现一个必定发生的代码吧, 那样举例子不会暴露源码也能更清晰地找问题...

又重新看了下你报错, 我好像误解了, 实际错误应该是 gevent 在 3.6 上给 ssl 打补丁的那个常见错误
1 ... 79  80  81  82  83  84  85  86  87  88 ... 136  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   853 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 20:45 · PVG 04:45 · LAX 12:45 · JFK 15:45
♥ Do have faith in what you're doing.