当前位置: 首页 > 面试题库 >

偶尔ctypes错误从mod_wsgi django应用程序导入numpy

司徒正信
2023-03-14
问题内容

设置如下:

  • 导入ctypes的mod_wsgi上的Django(1.2)应用
  • 的Python 2.6.5
  • 阿帕奇2.2.3
  • SELinux已禁用
  • 红帽EL 5 64bit
  • 一些文件系统通过nfs挂载

有时,当我重新启动apache时,在尝试导入ctypes时出现导入错误。每个传入请求均失败,并显示500错误。如果我重新启动apache,通常一切都会重新开始。

这是错误的堆栈跟踪:

Traceback (most recent call last):

 File "/home/appfirst/django/django/core/handlers/base.py", line 80, in get_response
   response = middleware_method(request)

     -------------- A BUNCH OF DJANGO MIDDLEWARE STUFF HERE -------------

 File "/home/appfirst/django/django/utils/importlib.py", line 35, in import_module
   __import__(name)

 File "/home/appfirst/backend/backend/streamer/views.py", line 6, in <module>
   import appfirst.main.models as FEmodels

 File "/home/appfirst/frontend/appfirst/main/models.py", line 27, in <module>
   import numpy, math, mpmath

 File "/usr/lib64/python2.6/site-packages/numpy/__init__.py", line 43, in <module>
   import ctypeslib

 File "/usr/lib64/python2.6/site-packages/numpy/ctypeslib.py", line 9, in <module>
   import ctypes

 File "/usr/lib64/python2.6/ctypes/__init__.py", line 546, in <module>
   CFUNCTYPE(c_int)(lambda: None)

MemoryError

我以为可能与该错误有关,但是我关闭了SELinux,我认为这将永远不会发生:

  • http://bugs.python.org/issue5504

关于如何一致地复制和/或修复它的任何建议?这真让我难过!


问题答案:

我也遇到了这个错误。就我而言,当我从在64位Linux系统上的Apache下运行的PHP脚本中执行Python脚本时,就会发生这种情况。[正在运行的Python代码是pypy沙箱的前端。]相同的代码在32位系统上可以正常工作,甚至当直接从命令行执行PHP脚本时也可以正常工作。我的“解决”方法只是将ctypes
/ init .py中的“CFUNCTYPE(c_int)(lambda:None)”行注释掉。它是文件的最后一行,并带有以下注释,表明程序员也不了解正在发生的事情!

# XXX for whatever reasons, creating the first instance of a callback
# function is needed for the unittests on Win64 to succeed.  This MAY
# be a compiler bug, since the problem occurs only when _ctypes is
# compiled with the MS SDK compiler.  Or an uninitialized variable?
CFUNCTYPE(c_int)(lambda: None)

显然,cpython中某个地方存在更深的问题,但该修复程序对我有用。



 类似资料:
  • 问题内容: 最近,我将计算机更新为功能更强大的计算机,并配备了四核超线程处理器(i7),因此可以使用大量实际并发。现在,我退出()正在开发的应用程序(带有Swing GUI)时, 偶尔会 遇到以下错误: 好吧,鉴于它开始使用具有更多并发能力的硬件发生,并且与线程有关,并且偶尔发生,这显然是某种时机。但是问题是堆栈跟踪太短了。我只有上面的清单。它根本不包含我自己的代码,因此很难猜测该错误在哪里。 有

  • 我有一个SpringBoot应用程序和一组应用程序。不同配置文件的yaml文件。 这些文件位于类路径中,没有额外的配置来切换它们,只需在intellij的配置“活动配置文件”部分更改配置文件。 我的一个Spring豆子依赖财产 它有一个如下所示的构造函数 如果appUrl在属性文件中不存在,这一点的全部意义就是使bean构造失败(从而导致应用程序无法启动)。 在application.yamlap

  • 以下是错误: 下面是我的pom.xml文件: 这是我的主课:

  • 我有一份科尔多瓦的申请。系统重新安装后无法编译它。 我有错误-

  • 我有一个基于Java的Web应用程序,我正在Microsoft Azure中运行。操作系统:RHEL7.3版本。Web服务器:Apache9所以问题是当上传一个。xlsx文件时,它会给我以下错误。同样的配置,每一个其他的infra(包括AWS,本地),每一件事都运行良好。我很困惑,错误可能在哪里,即在服务器级别配置或Java应用程序代码中的错误? 例外 错误:错误返回类型异常详细信息:位置:com

  • 我正试着用这本手册开始tensorflowhttps://www.tensorflow.org/install/install_windows 所有安装都成功完成,我正在使用python 3.5.2和最新版本的pip,遇到这个错误,有人告诉我应该怎么做吗? 在swig\parth\AppData\Local\Programs\Python35\lib\site-p tensorflow\Pytho