我刚刚在线发布django应用程序,我在错误日志中收到此错误
Fatal Python error: PyEval_AcquireThread: NULL new thread state
我在网上看到了一些类似的问题,但他们没有解释这个错误。
答案 0 :(得分:8)
如果同时启用了apache mod_wsgi
和mod_python
,则会出现此问题。
尝试
sudo a2dismod python
sudo service apache2 restart
答案 1 :(得分:4)
这往往表明你的mod_wsgi是针对不同的Python版本和/或不同的Python安装而编译的,而不是它在运行时尝试使用的Python虚拟环境或Python安装。
换句话说,您正在混合来自不同Python安装的已编译共享库和扩展模块。这可能会导致各种各样的问题。
完成检查:
了解你的mod_wsgi是如何构建的,并验证它是你期望的那样。
答案 2 :(得分:0)
在我的情况下,它是Django或Flask项目所在目录的权限。它们是从root创建的,因此在我的情况下我将它们更改为www-data。