1. 程式人生 > >scrapy遇到的問題:def write(self, data, async=False): ^ SyntaxError: invalid syntax ==>python3.7版本問題

scrapy遇到的問題:def write(self, data, async=False): ^ SyntaxError: invalid syntax ==>python3.7版本問題

scrapy 執行爬蟲時,提示的錯誤如下:

... 略 ...
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/scrapy/extensions/telnet.py", line 12, in <module>
    from twisted.conch import manhole, telnet
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/twisted/conch/manhole.py", line 154
    def write(self, data, async=False):
                              ^
SyntaxError: invalid syntax

原因分析:

Python3.7裡async變成了關鍵字...,所以 def write(self, data, async=False)會報錯...

解決方法:

方法一(推薦): python版本更改為其他版本(推薦使用python3.6版本)

方法二:找到指定的檔案,把對應的async關鍵字改成其他的非關鍵字詞(如:async_37)

具體操作:到包管理目錄下site-packages找到twisted/conch/manhole.py檔案,找到def write(self, data, async=False),async已經被自動標識為特殊顏色,把該方法下的所以async改成非關鍵字的單詞即可。

------------ END --------------