Python 根本没法安装 curl_cffi 怎么回事?

230 天前
 kisshere

python 新手,尝试 pip install curl_cffi ,报错:

Could not find a version that satisfies the requirement curl_cffi (from versions: )
No matching distribution found for curl_cffi

python --version 显示:Python 2.7.17

然后尝试 pip3 install curl_cffi ,安装成功了,然后运行 test.py

from curl_cffi import requests
r = requests.get("https://tls.browserleaks.com/json", impersonate="chrome101")
print(r.json())

python3 test.py 报错如下:

Traceback (most recent call last):
  File "test.py", line 1, in <module>
    from curl_cffi import requests
ImportError: cannot import name 'requests'

python3 --version 显示:Python 3.6.9

请问这该怎么解决?

1170 次点击
所在节点    程序员
12 条回复
FkingMan
230 天前
pip3 安装,确认好你的 python 解释器版本。建议安装 pyenv 管理解释器版本
triangle111
230 天前
python 版本太低了,用 python3.8 以上版本再试一下
linxiaojialin
230 天前
用这个真的能防盾吗?交流一下
vaporemix
230 天前
@linxiaojialin 只能说过不了再想别的法子
Vegetable
230 天前
你用的 py3.6,pip 安装的这个包可能是非常旧的 0.1.5 版本,这个版本并没有你想要的 requests
linxiaojialin
230 天前
@vaporemix 有试过几种盾,感觉其实它们并不在意指纹,更多的是看 UserAgent 和请求频率,用原生的 requests 和 curl_cffi 效果是一样的。甚至 curl_cffi 还缺少一些功能。
请教一下,你有试过哪种盾,用原生的 requests 会触发,用 curl_cffi 不触发吗?
linxiaojialin
230 天前
@kisshere 解决了吗?这个好像只能在 Python 3.8~3.10 之间安装,建议用 3.9 。版本太低装不了,太高好像跟其它拓展有冲突。
qq78660651
230 天前
@linxiaojialin #3 https://pypi.org/project/tls-client/ 这个原理应该类似吧,昨天看到的,能过盾
qq78660651
230 天前
@qq78660651 测试网站 aHR0cHM6Ly9qYWJsZS50di8=;
刚好是你说的这种例子用 requests 能触发盾,但是用这个 tls-client 不会触发;
linxiaojialin
230 天前
@qq78660651 感谢,我试试看
liuhai233
229 天前
pip 和 python 的对应很乱,尤其是存在多个版本或者使用虚拟环境的时候,建议全部使用 python3 -m pip 的方式,此处 python3 可以是绝对路径或者相对路径
julyclyde
225 天前
我去看了一下文档才明白原来 curl_cffi 提供了和 requests 一样的接口

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1038606

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX