Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Aigoss opened this issue Nov 5, 2023 · 7 comments

Comments

@Aigoss
Copy link

Aigoss commented Nov 5, 2023

已获取环境变量 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
Copy link

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

@ghost
Copy link

ghost commented Jan 11, 2024

找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
Copy link

找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
Copy link

ghost commented Jan 13, 2024

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

@GabrielGonGod
Copy link

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

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

@ghost
Copy link

ghost commented Feb 1, 2024

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

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

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

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

image image

@GabrielGonGod
Copy link

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

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

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

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

image image

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants