Flask apscheduler 的语法错误
SyntaxError for Flask apscheduler
我正在尝试在 AWS EC2 上启动 Flask 应用程序,并且正在尝试使用 flask-apscheduler
启用后台线程。但是,在导入库时,我的代码中断了。
/etc/httpd/logs/error_log:
mod_wsgi (pid=29266): Target WSGI script '/var/www/html/flaskapp/flaskapp.wsgi' cannot be loaded as Python module., referer: http:/$
mod_wsgi (pid=29266): Exception occurred processing WSGI script '/var/www/html/flaskapp/flaskapp.wsgi'., referer: http:/$
Traceback (most recent call last):, referer: http://example.com/map-day
File "/var/www/html/flaskapp/flaskapp.wsgi", line 6, in <module>, referer: http://example.com/map-day
from flaskapp import app as application, referer: http://example.com/map-day
File "/var/www/html/flaskapp/flaskapp.py", line 3, in <module>, referer: http://example.com/map-day
from flask_apscheduler import APScheduler, referer: http://example.com/map-day
File "/usr/local/lib/python2.7/site-packages/flask_apscheduler/__init__.py", line 17, in <module>, referer: http://example.com$
from apscheduler.schedulers.base import STATE_PAUSED, STATE_RUNNING, STATE_STOPPED, referer: http://example.com/map-day
File "/usr/local/lib64/python2.7/site-packages/apscheduler/schedulers/base.py", line 19, in <module>, referer: http:/$
from apscheduler.jobstores.memory import MemoryJobStore, referer: http://example.com/map-day
File "/usr/local/lib64/python2.7/site-packages/apscheduler/jobstores/memory.py", line 4, in <module>, referer: http:/$
from apscheduler.util import datetime_to_utc_timestamp, referer: http://example.com/map-day
File "/usr/local/lib64/python2.7/site-packages/apscheduler/util.py", line 141, referer: http://example.com/map-day
values = {k: int(v or 0) for k, v in values.items()}, referer: http://example.com/map-day
^, referer: http://example.com/map-day
SyntaxError: invalid syntax, referer: http://example.com/map-day
在 Internet 上快速搜索显示 similar problems 的结果很少,并且在导入其他库时使用 Python 2.6 的用户体验到了。这些用户被推荐升级到 Python 2.7,之后他们的问题似乎得到了解决。
不过,我正在使用 Python 2.7.14 和 Flask-APScheduler 1.10.1。虽然我肯定可以使用另一个库来进行后台线程处理,但我很想知道我是否遗漏了什么 - 问题是字典理解无法使用 Python 2.6 完成,但我遇到了同样的问题使用2.7.我错过了什么吗?
进一步研究后,我发现在我的 flask wsgi 配置中指定 python 版本 而不是 影响 python 用于执行我的Flask 应用程序。
Running this gives the system default for my RHEL VM which is Python 2.6:
$ which python
/usr/bin/python
虽然我可以更改 python 默认版本或创建一个 venv 并指定要使用的 python,但我已切换到另一个使用 Python 2.7 作为系统默认版本的发行版由于这个以及其他原因。希望这会帮助遇到类似问题的任何人。
我正在尝试在 AWS EC2 上启动 Flask 应用程序,并且正在尝试使用 flask-apscheduler
启用后台线程。但是,在导入库时,我的代码中断了。
/etc/httpd/logs/error_log:
mod_wsgi (pid=29266): Target WSGI script '/var/www/html/flaskapp/flaskapp.wsgi' cannot be loaded as Python module., referer: http:/$
mod_wsgi (pid=29266): Exception occurred processing WSGI script '/var/www/html/flaskapp/flaskapp.wsgi'., referer: http:/$
Traceback (most recent call last):, referer: http://example.com/map-day
File "/var/www/html/flaskapp/flaskapp.wsgi", line 6, in <module>, referer: http://example.com/map-day
from flaskapp import app as application, referer: http://example.com/map-day
File "/var/www/html/flaskapp/flaskapp.py", line 3, in <module>, referer: http://example.com/map-day
from flask_apscheduler import APScheduler, referer: http://example.com/map-day
File "/usr/local/lib/python2.7/site-packages/flask_apscheduler/__init__.py", line 17, in <module>, referer: http://example.com$
from apscheduler.schedulers.base import STATE_PAUSED, STATE_RUNNING, STATE_STOPPED, referer: http://example.com/map-day
File "/usr/local/lib64/python2.7/site-packages/apscheduler/schedulers/base.py", line 19, in <module>, referer: http:/$
from apscheduler.jobstores.memory import MemoryJobStore, referer: http://example.com/map-day
File "/usr/local/lib64/python2.7/site-packages/apscheduler/jobstores/memory.py", line 4, in <module>, referer: http:/$
from apscheduler.util import datetime_to_utc_timestamp, referer: http://example.com/map-day
File "/usr/local/lib64/python2.7/site-packages/apscheduler/util.py", line 141, referer: http://example.com/map-day
values = {k: int(v or 0) for k, v in values.items()}, referer: http://example.com/map-day
^, referer: http://example.com/map-day
SyntaxError: invalid syntax, referer: http://example.com/map-day
在 Internet 上快速搜索显示 similar problems 的结果很少,并且在导入其他库时使用 Python 2.6 的用户体验到了。这些用户被推荐升级到 Python 2.7,之后他们的问题似乎得到了解决。
不过,我正在使用 Python 2.7.14 和 Flask-APScheduler 1.10.1。虽然我肯定可以使用另一个库来进行后台线程处理,但我很想知道我是否遗漏了什么 - 问题是字典理解无法使用 Python 2.6 完成,但我遇到了同样的问题使用2.7.我错过了什么吗?
进一步研究后,我发现在我的 flask wsgi 配置中指定 python 版本 而不是 影响 python 用于执行我的Flask 应用程序。
Running this gives the system default for my RHEL VM which is Python 2.6:
$ which python
/usr/bin/python
虽然我可以更改 python 默认版本或创建一个 venv 并指定要使用的 python,但我已切换到另一个使用 Python 2.7 作为系统默认版本的发行版由于这个以及其他原因。希望这会帮助遇到类似问题的任何人。