操作系统 - Azure VM上的Ubuntu Server 14.04
尝试使用不同版本的python(3.4.3,3.6.0),apache和mod_wsgi。
使用此处的说明安装MS Native ODBC驱动程序 https://gist.github.com/joecampo/6f777a659b8132b9d6fe1c3589df394c,而pyodbc是使用pip安装的。
要调试wsgi_module,我已将django应用程序设置为以嵌入模式运行,并且:
gdb /usr/local/apache2/bin/httpd
run -X
当我访问任何导入pyodbc的函数时,wsgi失败并出现以下错误:
Program received signal SIGSEGV, Segmentation fault.
import_types () at src/pyodbcmodule.cpp:223
223 src/pyodbcmodule.cpp: No such file or directory.
从命令行运行django应用程序时,导入模块工作正常:
python3 manage.py runserver
有解决方法吗?
答案 0 :(得分:0)
我在设置Python Pyramid项目时遇到了同样的问题,并且降级到以前版本的pyodbc 修复了它。
看起来这可能是pyodbc或WSGI模块中的错误。见pyodbc 4.0.9+ segfault with uwsgi #199。你可能已经知道这条线是红鲱鱼:
223 src/pyodbcmodule.cpp: No such file or directory.
该错误来自调试器,只是告诉import_types()引发异常的位置,但是搜索该文件导致我在GitHub上发布错误报告。
你显然已经知道如何调试Apache和wsgi,但对于那些没有详细说明here的人来说。
答案 1 :(得分:0)
通过添加对子解释器的支持,已在4.0.16中修复此问题。