Flask+Celery 執行時報錯:def _connparams(self, async=False, _r210_options=( ^ SyntaxError: invalid syntax


Outline

運行環境:

# Windows 10
# python 8
# redis 2.10.5
# Flask 1.0.2
# Celery 3.1.25
# debug 工具: Pycharm

准備打一個服務,Flask+celery,但是在執行時報錯:

File "D:\ProgramData\Anaconda3\envs\gazh\lib\site-packages\kombu\transport\redis.py", line 815
def _connparams(self, async=False, _r210_options=(
^
SyntaxError: invalid syntax

 問題原因

網上查了下,感覺內容千篇一律基本都是復制粘貼這些內容~:

我查了好久才知道,這是由於async在python3.7已經是關鍵字,但是celery4.2版本沒有更新導致的。此問題將在下一個發布版本修復。
目前只能將celery文件中的async命名為其他變量名或者換一個python3.6的編輯器,替換要替換多處,因此最好是換一個python3.6的編輯器。

問題原因是變量名沖突;

解決方案兩個:1、改python版本; 2、改變量名

由於我只是在Windows做測試,后續要放在Linux server上,所以圖省事不換python版本了,直接改源碼里的變量名。

解決

 直接點擊上圖中redis.py,進入文件;

Ctrl + R 進行變量名替換

 把全部rsync 替換為 rsyncs

再去執行腳本就不報錯了

(這個方法治標不治本,只是臨時應急,開發環境的話還是要從根本解決)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM