TypeError: '_PasslibRegistryProxy' object is not callable Passlib/Python error on website
TypeError: '_PasslibRegistryProxy' object is not callable Passlib/Python error on website
今天上午与用户 creation/login 一起处理项目站点。该代码在本地主机上运行良好。我将代码推送到我的 heroku 帐户并离开了这一天。今天晚上我回到家,开始测试这个网站。我遇到了一个我没有准备好的例外。启动本地主机并重新创建 TypeError: '_PasslibRegistryProxy' object is not callable
问题,现在我不知道如何解决它。看来在 git 添加、提交和推送的过程中,我破坏了我的 passlib 文件。然而,我没有对 passlib 的源代码进行任何编辑。此外,我在一个全新的工作区中用最少的代码重新创建了错误。全新的硬盘驱动器,新文件夹,运行 pip install passlib -t .
(强制安装到该目录)。我 运行 以下 3 行代码并继续收到相同的错误:
import passlib.hash
a = passlib.hash('magic15!')
print(a)
在我的主要工作区中,我尝试 pip install passlib --upgrade -t .
但这并没有解决我的问题。由于消息已弃用,我使用 passlib.hash()
而不是 sha256_encrypt()
。
我完全糊涂了,因为它工作正常,除了尝试解决它之外我没有对该代码进行任何更改。
passlib.hash() 是如何工作的,我至今仍无法理解。但是,最好是它失败并激发了这个问题。答案来自 Python discord 服务器(谢谢 Scott 和 XX)并提醒您返回原始文档,不要总是依赖可能会过时的教程视频。
passlib 的文档从未声明以我所做的方式使用 passlib.hash()
应该有效。相反,在撰写此回复时,代码应如下所示:
from passlib.hash import pbkdf2_sha256
a = pbkdf2_sha256.hash('magic15!')
print(a)
对于遇到此错误的任何其他人,请确认您使用的是基于最新文档的正确代码:
https://passlib.readthedocs.io/en/stable/narr/hash-tutorial.html
虽然我也建议阅读这篇文章:
https://passlib.readthedocs.io/en/stable/narr/quickstart.html#recommended-hashes
为了澄清我使用错误代码的原因,我收到了
DeprecationWarning: the method passlib.handlers.sha2_crypt.sha256_crypt.encrypt() is deprecated as of Passlib 1.7, and will be removed in Passlib
2.0, use .hash() instead.
我在使用 sha256_crypt.encrypt() 时收到了这个,这是通过教程视频系列教授的。使用 passlib.hash() 正在工作并突然停止。我猜是为了更好,但事实上它正在工作并停止了,这让我感到困惑 tar。然而,重新调整文档是一个更合适的继续前进的方向。
今天上午与用户 creation/login 一起处理项目站点。该代码在本地主机上运行良好。我将代码推送到我的 heroku 帐户并离开了这一天。今天晚上我回到家,开始测试这个网站。我遇到了一个我没有准备好的例外。启动本地主机并重新创建 TypeError: '_PasslibRegistryProxy' object is not callable
问题,现在我不知道如何解决它。看来在 git 添加、提交和推送的过程中,我破坏了我的 passlib 文件。然而,我没有对 passlib 的源代码进行任何编辑。此外,我在一个全新的工作区中用最少的代码重新创建了错误。全新的硬盘驱动器,新文件夹,运行 pip install passlib -t .
(强制安装到该目录)。我 运行 以下 3 行代码并继续收到相同的错误:
import passlib.hash
a = passlib.hash('magic15!')
print(a)
在我的主要工作区中,我尝试 pip install passlib --upgrade -t .
但这并没有解决我的问题。由于消息已弃用,我使用 passlib.hash()
而不是 sha256_encrypt()
。
我完全糊涂了,因为它工作正常,除了尝试解决它之外我没有对该代码进行任何更改。
passlib.hash() 是如何工作的,我至今仍无法理解。但是,最好是它失败并激发了这个问题。答案来自 Python discord 服务器(谢谢 Scott 和 XX)并提醒您返回原始文档,不要总是依赖可能会过时的教程视频。
passlib 的文档从未声明以我所做的方式使用 passlib.hash()
应该有效。相反,在撰写此回复时,代码应如下所示:
from passlib.hash import pbkdf2_sha256
a = pbkdf2_sha256.hash('magic15!')
print(a)
对于遇到此错误的任何其他人,请确认您使用的是基于最新文档的正确代码:
https://passlib.readthedocs.io/en/stable/narr/hash-tutorial.html
虽然我也建议阅读这篇文章: https://passlib.readthedocs.io/en/stable/narr/quickstart.html#recommended-hashes
为了澄清我使用错误代码的原因,我收到了
DeprecationWarning: the method passlib.handlers.sha2_crypt.sha256_crypt.encrypt() is deprecated as of Passlib 1.7, and will be removed in Passlib
2.0, use .hash() instead.
我在使用 sha256_crypt.encrypt() 时收到了这个,这是通过教程视频系列教授的。使用 passlib.hash() 正在工作并突然停止。我猜是为了更好,但事实上它正在工作并停止了,这让我感到困惑 tar。然而,重新调整文档是一个更合适的继续前进的方向。