我正在尝试在AWS EC2上部署一个Flask应用程序,在Ubuntu 14上运行apache2和mysql。
烧瓶应用程序需要以下依赖项:
Pymysql
日期解析器
我的应用程序在我的本地开发计算机上正常运行,但是当我尝试部署它时,它会产生500内部服务器错误,我的Apache日志显示以下信息:
Traceback (most recent call last):
File "/var/www/crimemap/crimemap.wsgi", line 9, in <module>
from crimemap import app as application
File "/var/www/crimemap/crimemap.py", line 5, in <module>
import dateparser
File "/var/www/crimemap/venv/lib/python2.7/site-packages/dateparser/__init__.py", line 4, in <module>
from .date import DateDataParser
File "/var/www/crimemap/venv/lib/python2.7/site-packages/dateparser/date.py", line 8, in <module>
import regex as re
File "/var/www/crimemap/venv/lib/python2.7/site-packages/regex.py", line 387, in <module>
import _regex_core
File "/var/www/crimemap/venv/lib/python2.7/site-packages/_regex_core.py", line 21, in <module>
import _regex
ImportError: /var/www/crimemap/venv/lib/python2.7/site-packages/_regex.so: undefined symbol: PyUnicodeUCS2_FromUnicode
P.S。
我正在使用virutalenv,但我在同一台服务器上使用virtualenvs运行其他Flask应用程序,没有任何问题。
我的本地计算机正在运行Python 2.7.12,但是EC2运行的是2.7.6,所以我在安装dateparser时遇到了问题。我通过从源代码编译它在EC2上安装了python 2.7.13。请注意,在同一台服务器上使用此编译版本的python的其他烧瓶应用程序运行正常,唯一的区别是这些应用程序没有日期分析程序依赖。
任何帮助都将不胜感激。