py3.7更新PEP492導(dǎo)致的坑點(diǎn)

Twisted是基于事件驅(qū)動(dòng)的網(wǎng)絡(luò)引擎框架,支持Python2.7和3.3+。它包括很多不同的模塊,如:

twisted.web:HTTP客戶和服務(wù)端,HTML模板,和一個(gè)WSGI服務(wù)器
twisted.conch:基于SSHv2和Telnet協(xié)議的的客戶端,服務(wù)器和終端模擬器
twisted.words:基于IRC,XMPP和其他IM協(xié)議的客戶端和服務(wù)器
twisted.mail:基于IMAPv4,POP3,SMTP的客戶端和服務(wù)器
twisted.positioning:和NMEA(國(guó)際海上電子協(xié)會(huì))兼容的GPS接收者通信的工具
twisted.names:DNS客戶端和工具可用于構(gòu)建自己的DNS服務(wù)器
twisted.trial:和基于Twisted的代碼高度整合的單元測(cè)試框架

twisted支持所有主流的事件輪詢機(jī)制:select(所有平臺(tái))、poll(大部分POSIX平臺(tái))、epoll(Linux)、kqueue(FreeBSD,OSX)、OCP(Windows)和各種GUI事件輪詢機(jī)制(GTK+2/3、QT、wxWidgets)。第三方的reactors也可以加入到twisted中來支持額外的事件輪詢機(jī)制。

Python3.7中使用twisted庫卻會(huì)用到"SyntaxError: invalid syntax"(語法錯(cuò)誤)
提示語法錯(cuò)誤的位置并不在我們寫的代碼,而是在我們下載的第三方庫中。通過上網(wǎng)查找,發(fā)現(xiàn)提示這個(gè)錯(cuò)誤跟py3.7的新特性有關(guān)。

在py3.5時(shí)提出的PEP492提案在py3.7中正式生效。(以前的版本中也有,但是得

from __future__ import generator_stop

)之前寫異步協(xié)程時(shí)我們會(huì)用到名為asyncio的標(biāo)準(zhǔn)庫。

python也是在python 3.4中引入了協(xié)程的概念。

Py3.5的提案中,有一條就是:將協(xié)程的概念從生成器中拎了出來,并添加了新的關(guān)鍵詞async\await。
async/await 關(guān)鍵字:python3.5用于定義協(xié)程的關(guān)鍵字,async定義一個(gè)協(xié)程,await用于掛起阻塞的異步調(diào)用接口。

SyntaxError: invalid syntax

語法錯(cuò)誤的原因在于async是py37的關(guān)鍵詞,不能作為關(guān)鍵字參數(shù)。修改方法也很簡(jiǎn)單,把報(bào)錯(cuò)的文件中全部的async修改為其他非py37關(guān)鍵詞的名稱。
Pyspider、scrapy語法錯(cuò)誤就是這個(gè)原因,改一下源文件里的async

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文鏈接 : How the heck does async/await work in Python 3.5? ...
    Yihulee閱讀 65,958評(píng)論 4 30
  • 轉(zhuǎn)一篇駒神的關(guān)于異步編程和Asyncio的文章。這是上篇,共三篇。原文地址:http://aju.space/20...
    SeanCheney閱讀 9,909評(píng)論 2 99
  • 1 什么是異步編程 通過學(xué)習(xí)相關(guān)概念,我們逐步解釋異步編程是什么。 1.1 阻塞 程序未得到所需計(jì)算資源時(shí)被掛起的...
    hugoren閱讀 2,756評(píng)論 2 10
  • 一年了呢。 時(shí)間是真的很快 第一次下這個(gè)APP 希望是一個(gè)記日記的好地方
    _安妮啊砸熊閱讀 179評(píng)論 0 0
  • 我是一棵樹,樹根如手心的掌紋般淺淺地浮在地表,暴風(fēng)雨來臨時(shí)便陷入隨時(shí)傾倒的危險(xiǎn)??墒俏铱释L(zhǎng)成一棵大樹,挺直我粗壯...
    47381988cd2c閱讀 102評(píng)論 0 0

友情鏈接更多精彩內(nèi)容