前言

今天在服务器上运行ArxivDay的时候,安装了openAI==1.42.2,发现报了个错误TypeError: Client.__init__() got an unexpected keyword argument 'proxies'

后来发现原来是由于服务器上现在的最新版本是python 3.12.+ 但是我以前的这个版本是python 3.8+,然后openAI很依赖一个包htttpx,这个做了一些变化,于是在新版本的httpx上就出现错误了。

正文

报错如下,这是我从网上截图下来的(来自 Error with OpenAI 1.56.0 - Client.__init__() got an unexpected keyword argument ‘proxies’),我的错误也差不多,只是今天没有截图:

Traceback (most recent call last):
  File "/Users/Development/OpenAIFineTuning/myenv/bin/openai", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/Users/Development/OpenAIFineTuning/myenv/lib/python3.13/site-packages/openai/cli/_cli.py", line 129, in main
    _main()
    ~~~~~^^
  File "/Users/Development/OpenAIFineTuning/myenv/lib/python3.13/site-packages/openai/cli/_cli.py", line 179, in _main
    http_client = httpx.Client(
        proxies=proxies or None,
        http2=can_use_http2(),
    )
TypeError: Client.__init__() got an unexpected keyword argument 'proxies'

这里也能够看出来问题出在httpx.Client,这个地方,来自httpx

由于是版本的问题,解决办法也很简单,我们只需要把httpx降级为0.27.2即可。

总结

python版本更新的时候,默认安装的一些libraries版本也会相应更新,从而造成不兼容。

兼容性永远是难题呀。

参考

[1] Error with OpenAI 1.56.0 - Client.__init__() got an unexpected keyword argument ‘proxies’

立志做一个有趣的碳水化合物。