ImportError:没有名为twisted.persisted.styles的模块

efo*_*ng5 9 python macos scrapy python-2.7

从IDLE开始,我尝试使用新安装的scrapy 1.0.3运行脚本.

我正在使用其工作的朋友的脚本(但在Windows上,我在Mac上).

从第一行的scrapy导入,运行程序时出现此错误: ImportError: No module named twisted.persisted.styles

整个脚本,如果它有用,指向这个:

Traceback (most recent call last):
  File "/Users/eliasfong/tutorial/tutorial/spiders/medspider.py", line 1, in <module>
    import scrapy
  File "/Library/Python/2.7/site-packages/scrapy/__init__.py", line 27, in <module>
    from . import _monkeypatches
  File "/Library/Python/2.7/site-packages/scrapy/_monkeypatches.py", line 20, in <module>
    import twisted.persisted.styles  # NOQA
ImportError: No module named twisted.persisted.styles
Run Code Online (Sandbox Code Playgroud)

有关如何解决这个问题的任何建议?

Pie*_*scy 5

试着强制更新twisted:

pip install twisted --upgrade
Run Code Online (Sandbox Code Playgroud)

这适用于python3.4和Scrapy == 1.1.0rc1


iha*_*che 1

要么你的Mac上安装了twisted(我非常怀疑它,因为它不是标准库),要么出于某种原因IDE(我假设这就是你输入“idle”后的意思)或你所在的终端没有安装有你更新的环境变量,这意味着它不知道你的默认Python库在哪里(我再次高度怀疑它),或者你根本没有在你的Mac上安装Twisted。如果未安装,您有几个选择:

  1. 安装 python 包的最简单方法是通过pip
  2. 如果这不是一个选择,你可以尝试homebrew,它是 Mac 的另一个包管理器。它提供了一种正确安装软件包的简单方法。
  3. 如果这仍然不适合您,或者您只是不想尝试直接从这里下载twisted (因为您使用的是Mac,所以是.bz2),请单击它,它应该会为您解压缩。然后只需运行 setup.py 即可将其安装在 Mac 上的正确位置。
  4. 如果这仍然不起作用并且您对 UNIX 有一定的了解。在终端上使用“locate”命令,找出 dist-packages 目录所在的位置,然后直接将twisted 的源代码放入其中,然后尝试在 IDE 或 python 解释器中导入twisted 以验证它是否已安装。

注意:如果安装后仍然遇到问题,请尝试重新启动 IDE 或修改某些设置以确保 IDE 具有正确的环境和 python 路径。希望有帮助!