Grz*_*sek 10 python django import importerror
我有一个问题,我真的不知道从哪里开始解决.也许它会敲响某人的钟声.
TLDR: Django应用程序崩溃,重启后运行但无法导入某些模块.再次重启时,一切都很好.
整个故事:
不同的应用程序(我们现在最多三个)在不同的Python(2.5.x,2.6.x和2.6.x)和Django版本(分别为1.1.0,1.2.5和1.3.0)上偶尔会出现虚假的ImportErrors .例如,其中一个应用程序通过在其中抛出ImportError开始使每个请求失败:
from django.contrib.gis.maps.google import GMarker, GEvent
Run Code Online (Sandbox Code Playgroud)
我们收集了strace输出,相关的块在下面(为了简洁和保护有罪,绝对路径被DIR取代).
stat64("DIR/django/contrib/gis/maps/google/GMarker", 0xf699ce3c) = -1 ENOENT (No such file or directory)
open("DIR/django/contrib/gis/maps/google/GMarker.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("DIR/django/contrib/gis/maps/google/GMarkermodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("DIR/django/contrib/gis/maps/google/GMarker.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("DIR/django/contrib/gis/maps/google/GMarker.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
(再一次是同样的事情s/GMarker/GEvent /)
重启过程后,一切运行顺利,同时运行:
python -c 'from django.contrib.gis.maps.google import GMarker'
Run Code Online (Sandbox Code Playgroud)
不产生任何错误.
GMarker和GEvent类实际上定义django.contrib.gis.maps.google.overlays并导入...maps/google/__init__.py:
from django.contrib.gis.maps.google.gmap import GoogleMap, GoogleMapSet
from django.contrib.gis.maps.google.overlays import GEvent, GIcon, GMarker, GPolygon, GPolyline
from django.contrib.gis.maps.google.zoom import GoogleZoom
Run Code Online (Sandbox Code Playgroud)
因此完全可以预期装载GMarker.py等.将失败.似乎Python已经忘记了__init__.py它的命名空间.
这些应用程序的流量相对较高,可以想象(虽然不确定)它们可能超出了VM的限制,并且几乎可以优雅地恢复.此外,至少在两种情况下,应用程序早先出现导致崩溃的问题 - 一种情况下出现SIGSEGV,另一种出现错误......其他情况.单个应用程序重新启动导致它抛出ImportErrors,另一个使它再次运行.瑕疵.py [c]?时间戳很古老.
所有这些应用程序都在wsgi-to-fastcgi服务器上运行.
到目前为止,这些应用程序中的每一个都失败了一次(在完全不同的模块中,有两个__init__.py"被遗忘"但我找不到第三个错误的ATM)所以我无法判断模块是否有某种意义.
任何和所有指针和想法赞赏!
strace 输出对我来说似乎很可疑:
DIR/django/contrib/gis/...
Run Code Online (Sandbox Code Playgroud)
我对这DIR部分感到好奇。您是否可能在某处错误输入了 PYTHONPATH 变量,而使用DIR了$DIR?
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |