当前位置:   article > 正文

python 安装openai的踩坑史_openai 需要python什么版本

openai 需要python什么版本

1、安装虚拟环境
conda create --name OPENAI python ==3.7

注意,一定要python的版本 一定要 3.9及以下!!
否则一直会出错
出错

ImportError: cannot import name ‘COMMON_SAFE_ASCII_CHARACTERS’ from ‘charset_normalizer.constant’ (D:\anaconda3\envs\AIGC\lib\site-packages\charset_normalizer\constant.py)

  1. pip install chardet
  2. pip install charset-normalizer==2.1.0

都不管用

要确保python的版本号
最好python>=3.8 否则openai的有些库不能用

conda install python==3.8

2、安装openai
又是出错

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

这时候用国内源就好了

pip install openai -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

3、连接不上
一直出现问题

openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', OSError(0, 'Error')))

后来在知乎回答—— 找到了答案
原因是

urllib3的版本问题,环境内的urllib3版本是1.26.14版本,回退到1.25.11版本问题就解决了。

检查了一下urllib3的更新日志,应该是1.26.0的修改导致的:

最后

conda install urllib3==1.25.11

4、一直显示无chatCompletion
即显示

AttributeError: module 'openai' has no attribute 'ChatCompletion'

openai的版本号不够新,参照2进行更新

pip install -U openai -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

能跑通啦,棒棒!!!!

5、no model named win32api

  1. pip install win32api
  2. ERROR: Could not find a version that satisfies the requirement win32api (from versions: none)
  3. ERROR: No matching distribution found for win32api

实际的安装方法

conda install win32api

6、连接错误
Error communicating with OpenAI: HTTPSConnectionPool(host=‘api.openai.com’, port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError(‘Cannot connect to proxy.’, NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x0000027039BA40A0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。’)))

解决方法
解决办法:

①打开文件路径:D:\Anaconda3\envs\py\Lib\site-packages\openai\api_reuqestor.py(openai库路径)

②找到if not hasattr(_thread_context,“session”): 方法,并在此方法上加入代理。(此方法大概在512行)
每一个人的代理不一定一样

  1. # proxy = {
  2. # 'http': 'http://<代理ip>:<代理端口>',
  3. # 'https': 'https://<代理ip>:<代理端口>'
  4. # }
  5. proxy={
  6. 'http':'127.0.0.1:10809',
  7. 'https':'127.0.0.1:10809'
  8. }

 ③在result = _thread_context.session.request(中加入代理

  1. result = _thread_context.session.request(
  2. method,
  3. abs_url,
  4. headers=headers,
  5. data=data,
  6. files=files,
  7. stream=stream,
  8. timeout=request_timeout if request_timeout else TIMEOUT_SECS,
  9. proxies=proxy # 新增此行
  10. )

再次运行API测试代码发现已经成功返回数据

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明vb.net教程C#教程python教程

原文链接:python 安装openai的踩坑史_pip install openai-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/611784
推荐阅读
相关标签
  

闽ICP备14008679号