前言
今天在服务器上运行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’