【发布时间】:2018-07-26 14:28:10
【问题描述】:
我正在尝试在 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 时遇到了同样的问题。我错过了什么吗?
【问题讨论】:
-
@DeepSpace 你是什么意思?
-
Yeo 忽略这一点,我的错,我被 Flask 的调试日志抛弃了。但是,您确定使用 Python 2.7 解释器执行代码吗?
-
该行包含一个字典理解,这是 Python 2.7 中添加的一个功能。在 Python 2.6 上运行它会导致您向我们展示的语法错误。所以我想你应该仔细检查你的 Python 版本。
标签: python flask amazon-ec2 apscheduler