在Django产品中从Python 2.6升级到Python 2.7

Django版本1.5.2操作系统:Windows

我正在尝试升级我用于Django项目从2.6到2.7的Python。 我在以下文件中做了相应的修改

  1. path设置正确,指向新的Python 2.7
  2. 第三方软件包用python 2.7正确地更新/重新安装
  3. 对* .wsgi文件进行了更改,以包含新安装的第三方软件包
  4. http.conf已更改为WSGIScriptAlias的目录标记

但是,当我试图通过浏览器连接服务器,我收到以下exception

Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] mod_wsgi (pid=6184): Exception occurred processing WSGI script 'E:/Build/ACS/umonitor/ngnms/apache_django.wsgi'. [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] Traceback (most recent call last): [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:/Build/ACS/umonitor/ngnms/apache_django.wsgi", line 1, in <module> [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] import os, sys [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\os.py", line 398, in <module> [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] import UserDict [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\UserDict.py", line 84, in <module> [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] _abcoll.MutableMapping.register(IterableUserDict) [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\abc.py", line 109, in register [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] if issubclass(subclass, cls): [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\abc.py", line 184, in __subclasscheck__ [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] cls._abc_negative_cache.add(subclass) [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\_weakrefset.py", line 84, in add [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] self.data.add(ref(item, self._remove)) [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] TypeError: cannot create weak reference to 'classobj' object [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] mod_wsgi (pid=6184): Target WSGI script 'E:/Build/ACS/umonitor/ngnms/apache_django.wsgi' cannot be loaded as Python module. [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] mod_wsgi (pid=6184): Exception occurred processing WSGI script 'E:/Build/ACS/umonitor/ngnms/apache_django.wsgi'. [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] Traceback (most recent call last): [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:/Build/ACS/umonitor/ngnms/apache_django.wsgi", line 1, in <module> [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] import os, sys [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\os.py", line 398, in <module> [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] import UserDict [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\UserDict.py", line 84, in <module> [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] _abcoll.MutableMapping.register(IterableUserDict) [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\abc.py", line 109, in register [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] if issubclass(subclass, cls): [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\abc.py", line 184, in __subclasscheck__ [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] cls._abc_negative_cache.add(subclass) [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] File "E:\\Build\\ACS\\umonitor\\bin\\.\\\\..\\python\\Lib\\_weakrefset.py", line 84, in add [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] self.data.add(ref(item, self._remove)) [Sun May 18 20:55:41 2014] [error] [client 127.0.0.1] TypeError: cannot create weak reference to 'classobj' object 

您需要为Python 2.7编译的mod_wsgi的新版本。