Scrapycontextfactory.py。 iPython 中的名称错误。尝试使用扭曲的库

Scrapy contextfactory.py. NameError in iPython. Trying to used twisted library

我正在尝试 运行 在 scrapy shell 中获取命令。错误指向 contextfactory.py。扭曲的库已经包含在我的虚拟环境中。我该如何解决这个错误?

from twisted.internet.ssl import ClientContextFactory
from twisted.internet.ssl import PrivateCertificate 



myClientCert = twisted.internet.ssl.PrivateCertificate.load(keyAndCert.read())

from twisted.internet.ssl import ClientContextFactory
from twisted.internet.ssl import PrivateCertificate 

myClientCert = twisted.internet.ssl.PrivateCertificate.load(keyAndCert.read())

第 1 行将 ClientContextFactory 名称放入您的范围。第 2 行将 PrivateCertificate 名称放入您的范围。第 4 行尝试从您的作用域中读取两个名称:twistedkeyAndCert。这些都不匹配您在范围中输入的两个名称(ClientContextFacotryPrivateCertificate)。

幸运的是,您尝试使用 twisted 名称的原因显然是为了到达 PrivateCertificate。您可以将 twisted.internet.ssl.PrivateCertificate 替换为实际在您的范围内的名称,PrivateCertificate.

修复此问题后,您将收到有关 keyAndCert 的错误,因为它也未在您的范围内定义(除非确实如此,但您省略了定义它的代码)。