gpt4 book ai didi

python - 从哪里获得 RAND_egd?

转载 作者:行者123 更新时间:2023-11-28 17:29:56 25 4
gpt4 key购买 nike

我正在 GAE 中测试一个应用程序。它在部署到 Google 的服务器时运行良好,但在本地崩溃,因为它 cannot import name RAND_egd。它发生的地方在 C:\Program Files(x86)Google\google_appengine\google\appengine\dist27\socket.py line 73:

from _ssl import RAND_add, RAND_egd, RAND_status, SSL_ERROR_ZERO_RETURN, SSL_ERROR_WANT_READ, SSL_ERROR_WANT_WRITE, SSL_ERROR_WANT_X509_LOOKUP, SSL_ERROR_SYSCALL, SSL_ERROR_SSL, SSL_ERROR_WANT_CONNECT, SSL_ERROR_EOF, SSL_ERROR_INVALID_ERROR_CODE

根据这个SO answer ,解决方案是注释掉导入,但那是在标准的 socket.py 中。我从 Google 提供的文件中删除了 RAND_egd,目前它可以正常工作。

这个问题的正确解决方案是什么? socket.py 中是否总是不需要 RAND_egd? Google 提供的 socket.py 是否与 Google 网络服务器中的不一样?

最佳答案

您的解决方案没有任何问题。这是由于随 SDK 1.9.38 分发的 socket.py 中的一个错误。

Windows 不支持 RAND_egd 库。

有一个更优雅的解决方法,如果不是 Windows,则有条件地导入库。

您必须对文件进行更改:C:\Program Files (x86)\Google\google_appengine\google\appengine\dist27\socket.py

然后您可以将 2.7.9 之后的 Python 与 Windows App Engine SDK 一起使用,

此处描述了需要对文件进行的更改 https://code.google.com/p/googleappengine/issues/detail?id=12783

您需要管理员权限才能修改文件。在可写位置编辑文件然后将其复制到只读目标可能更容易。

检查此问题的状态。希望新版本的 SDK 意味着不再需要补丁。否则,在每次升级 App Engine SDK 后重复此过程。

关于python - 从哪里获得 RAND_egd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35195175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com