6dylan6 / auto_comment

带图评价
437 stars 77 forks source link

无法运行,错误提示:AttributeError: 'NoneType' object has no attribute 'startswith' #48

Open Aigoss opened 11 months ago

Aigoss commented 11 months ago

已获取环境变量 CK 已启用AI评价 Traceback (most recent call last): File "/ql/data/scripts/6dylan6_auto_comment_main/jd_comment.py", line 711, in elif os.environ.get("ProxyUrl").startswith("http"): AttributeError: 'NoneType' object has no attribute 'startswith'

GabrielGonGod commented 9 months ago

我也这样,AI评价用不了了……

ghost commented 8 months ago

找AI问了下,我建议直接把711行-744行这四行直接注释掉就行,下面是AI的原来答案

根据提供的错误信息,问题出在 jd_comment.py 文件的第 711 行。错误是因为尝试调用 startswith 方法的对象是 None 类型,这通常意味着 os.environ.get("ProxyUrl") 返回了 None,可能是因为环境变量 ProxyUrl 没有被设置。

要解决这个问题,你需要确保 ProxyUrl 环境变量已经正确设置,或者修改代码以检查 ProxyUrl 是否为 None,并且只在它不是 None 的时候调用 startswith 方法。

修改代码的方法如下:

`# 原来的代码可能是这样的 if os.environ.get("ProxyUrl").startswith("http"):

一些操作

修改后的代码应该检查 NoneType

proxy_url = os.environ.get("ProxyUrl") if proxy_url and proxy_url.startswith("http"):

一些操作`

GabrielGonGod commented 8 months ago

找AI问了下,我建议直接把711行-744行这四行直接注释掉就行,下面是AI的原来答案

根据提供的错误信息,问题出在 jd_comment.py 文件的第 711 行。错误是因为尝试调用 startswith 方法的对象是 None 类型,这通常意味着 os.environ.get("ProxyUrl") 返回了 None,可能是因为环境变量 ProxyUrl 没有被设置。

要解决这个问题,你需要确保 ProxyUrl 环境变量已经正确设置,或者修改代码以检查 ProxyUrl 是否为 None,并且只在它不是 None 的时候调用 startswith 方法。

修改代码的方法如下:

`# 原来的代码可能是这样的 if os.environ.get("ProxyUrl").startswith("http"): # 一些操作

修改后的代码应该检查 NoneType

proxy_url = os.environ.get("ProxyUrl") if proxy_url and proxy_url.startswith("http"): # 一些操作`

是711~714这四行吧? elif os.environ.get("ProxyUrl").startswith("http"): os.environ['http_proxy'] = os.getenv("ProxyUrl") os.environ['https_proxy'] = os.getenv("ProxyUrl") logger.info(' - 使用QL配置文件ProxyUrl代理:' + os.environ["ProxyUrl"])

ghost commented 8 months ago

对的,在这四行前面加#注释掉就不会检测了,前提是你的环境可以直通openai的api

GabrielGonGod commented 8 months ago

对的,在这四行前面加#注释掉就不会检测了,前提是你的环境可以直通openai的api

确实如此,网络若能直连屏蔽就好了。如果不能,怎么配置代理呢?

ghost commented 8 months ago

对的,在这四行前面加#注释掉就不会检测了,前提是你的环境可以直通openai的api

确实如此,网络若能直连屏蔽就好了。如果不能,怎么配置代理呢?

@GabrielGonGod 今天刚好切换了环境,也是不能直连需要代理,就回来回复一下。

有代理的情况下,通过青龙面板设置或者直接命令指定你的代理地址就可以了,就用报错处的环境变量,ProxyUrl,如下所示

image image
GabrielGonGod commented 8 months ago

对的,在这四行前面加#注释掉就不会检测了,前提是你的环境可以直通openai的api

确实如此,网络若能直连屏蔽就好了。如果不能,怎么配置代理呢?

@GabrielGonGod 今天刚好切换了环境,也是不能直连需要代理,就回来回复一下。

有代理的情况下,通过青龙面板设置或者直接命令指定你的代理地址就可以了,就用报错处的环境变量,ProxyUrl,如下所示

image image

非常感谢,看了很多次作者的readme都没发现,感谢!