Python论坛  - 讨论区

标题:[python-chinese] 求救:Apache+Django的问题

2007年07月16日 星期一 10:53

cafeeee cafeeee在gmail.com
星期一 七月 16 10:53:44 HKT 2007

OS£ºFedora 7
»·¾³£ºapache 2.2.4 + mod_python + python2.5 + django 0.96 + sqlite 3.3.13

ÿµ±Ò³ÃæÒª·ÃÎÊÊý¾Ý¿âµÄʱºò£¨Í¨¹ýsqlite3·ÃÎÊ£©£¬django¾Í·µ»Ø£º
SystemError at /chat/register/
NULL result without error in PyObject_Call

Òì³£²úÉúÓÚpython2.5/site-packages/django/db/backends/sqlite3/base.pyµÄµÚ58ÐУº

   1. from django.conf import settings
   2. if self.connection is None:
   3.     kwargs = {
   4.         'database': settings.DATABASE_NAME,
   5.         'detect_types': Database.PARSE_DECLTYPES |
   Database.PARSE_COLNAMES,
   6.     }
   7.     kwargs.update(self.options)


   1.     self.connection = Database.connect(**kwargs) ...


   1.     # Register extract and date_trunc functions.
   2.     self.connection.create_function("django_extract", 2,
   _sqlite_extract)
   3.     self.connection.create_function("django_date_trunc", 2,
   _sqlite_date_trunc)
   4. cursor = self.connection.cursor(factory=SQLiteCursorWrapper)
   5. cursor.row_factory = utf8rowFactory
   6. if settings.DEBUG:

 <http://192.168.110.99/chat/register/#>¾ßÌåµÄ³ö´íÒ³ÃæÔÚ¸½¼þÖÐ
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070716/4f71463d/attachment-0001.htm 
-------------- 下一部分 --------------
Ò»¸ö·ÇÎı¾¸½¼þ±»Çå³ý...
·¢ÐÅÈË: %(who)s
Ö÷Ìâ: %(subject)s
ÈÕÆÚ: %(date)s
´óС: 8646
Url: http://python.cn/pipermail/python-chinese/attachments/20070716/4f71463d/attachment-0001.obj 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年07月16日 星期一 10:58

limodou limodou在gmail.com
星期一 七月 16 10:58:51 HKT 2007

On 7/16/07, cafeeee <cafeeee在gmail.com> wrote:
> OS:Fedora 7
> 环境:apache 2.2.4 + mod_python + python2.5 + django 0.96 + sqlite 3.3.13
>
> 每当页面要访问数据库的时候(通过sqlite3访问),django就返回:
> SystemError at /chat/register/
> NULL result without error in PyObject_Call
>
> 异常产生于python2.5/site-packages/django/db/backends/sqlite3/base.py的第58行:
>
>  from django.conf import settings
>  if self.connection is None:
>     kwargs = {
>          'database': settings.DATABASE_NAME,
>         'detect_types': Database.PARSE_DECLTYPES | Database.PARSE_COLNAMES,
>      }
>     kwargs.update(self.options)
>
>     self.connection = Database.connect(**kwargs) ...
>
>     # Register extract and date_trunc functions.
>     self.connection.create_function("django_extract", 2, _sqlite_extract)
>     self.connection.create_function("django_date_trunc", 2,
> _sqlite_date_trunc)
>  cursor = self.connection.cursor(factory=SQLiteCursorWrapper)
>  cursor.row_factory = utf8rowFactory
>  if settings.DEBUG: 具体的出错页面在附件中
>
>
没遇到过,好象是sqlite本身的问题。你是使用2.5版本吗?sqlite3应该内置的。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年07月16日 星期一 11:13

cafeeee cafeeee在gmail.com
星期一 七月 16 11:13:55 HKT 2007

ÎҵĻ·¾³ÊÇ£ºapache 2.2.4 + mod_python 3.3.1-3 + python 2.5 + pysqlite 2.3.2 +
django 0.96 + sqlite 3.3.13
ʵ¼ÊÉϳýÁËdjangoÊÇÎÒ×Ô¼º°²×°µÄÒÔÍ⣬ÆäËûµÄ¶¼ÊÇFedora 7×Ô´øµÄ


On 7/16/07, limodou <limodou在gmail.com> wrote:
>
> On 7/16/07, cafeeee <cafeeee在gmail.com> wrote:
> > OS£ºFedora 7
> > »·¾³£ºapache 2.2.4 + mod_python + python2.5 + django 0.96 + sqlite 3.3.13
> >
> > ÿµ±Ò³ÃæÒª·ÃÎÊÊý¾Ý¿âµÄʱºò£¨Í¨¹ýsqlite3·ÃÎÊ£©£¬django¾Í·µ»Ø£º
> > SystemError at /chat/register/
> > NULL result without error in PyObject_Call
> >
> > Òì³£²úÉúÓÚpython2.5/site-packages/django/db/backends/sqlite3/base.pyµÄµÚ58ÐУº
> >
> >  from django.conf import settings
> >  if self.connection is None:
> >     kwargs = {
> >          'database': settings.DATABASE_NAME,
> >         'detect_types': Database.PARSE_DECLTYPES |
> Database.PARSE_COLNAMES,
> >      }
> >     kwargs.update(self.options)
> >
> >     self.connection = Database.connect(**kwargs) ...
> >
> >     # Register extract and date_trunc functions.
> >     self.connection.create_function("django_extract", 2,
> _sqlite_extract)
> >     self.connection.create_function("django_date_trunc", 2,
> > _sqlite_date_trunc)
> >  cursor = self.connection.cursor(factory=SQLiteCursorWrapper)
> >  cursor.row_factory = utf8rowFactory
> >  if settings.DEBUG: ¾ßÌåµÄ³ö´íÒ³ÃæÔÚ¸½¼þÖÐ
> >
> >
> ûÓöµ½¹ý£¬ºÃÏóÊÇsqlite±¾ÉíµÄÎÊÌâ¡£ÄãÊÇʹÓÃ2.5°æ±¾Âð£¿sqlite3Ó¦¸ÃÄÚÖõġ£
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070716/7986ab88/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年07月16日 星期一 11:25

Bruce Wang number5在gmail.com
星期一 七月 16 11:25:08 HKT 2007

On 7/16/07, cafeeee <cafeeee在gmail.com> wrote:
>
> 我的环境是:apache 2.2.4 + mod_python 3.3.1-3 + python 2.5 + pysqlite 2.3.2 +
> django 0.96 + sqlite 3.3.13
> 实际上除了django是我自己安装的以外,其他的都是Fedora 7自带的
>
>
>
另外装了 pysqlite 2.3.2 ? 删除那个看看。

用排除法做个测试:

1. 先在python命令行或者交互模式, 调用sqlite 创建数据库,插入一行. 如果成功证明 sqlite + python 是好的
2. 让django使用自带的http服务器执行, 如果成功,证明问题不在django
3. 使用CGI模式配置django 如果ok, 证明是mod_python的问题



-- 
simple is good
http://brucewang.net
skype: number5
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20070716/7fc7c1dd/attachment.htm 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年07月17日 星期二 14:44

cafeeee cafeeee在gmail.com
星期二 七月 17 14:44:36 HKT 2007

1.ºÍ2.¶¼Í¨¹ýÁË£¬
µÚ3¸öûÊÔ£¬¿´À´¾ÍÊÇmod_python+sqliteµÄÎÊÌâÁË(ÔÚÍøÉÏ¿´µ½Á˲»ÉÙ¹ØÓÚmod_pythonºÍsqlite¼¯³ÉÎÊÌâµÄÌû×Ó)

¸ÄÓÃMySQLºóÒ»ÇÐÕý³£ÁË


On 7/16/07, Bruce Wang <number5在gmail.com> wrote:
>
> ÁíÍâ×°ÁË pysqlite 2.3.2 ? ɾ³ýÄǸö¿´¿´¡£
>
> ÓÃÅųý·¨×ö¸ö²âÊÔ£º
>
> 1. ÏÈÔÚpythonÃüÁîÐлòÕß½»»¥Ä£Ê½£¬ µ÷ÓÃsqlite ´´½¨Êý¾Ý¿â£¬²åÈëÒ»ÐÐ. Èç¹û³É¹¦Ö¤Ã÷ sqlite + python ÊǺõÄ
> 2. ÈÃdjangoʹÓÃ×Ô´øµÄhttp·þÎñÆ÷Ö´ÐУ¬ Èç¹û³É¹¦£¬Ö¤Ã÷ÎÊÌâ²»ÔÚdjango
> 3. ʹÓÃCGIģʽÅäÖÃdjango Èç¹ûok, Ö¤Ã÷ÊÇmod_pythonµÄÎÊÌâ
>
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070717/df83cd0b/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年07月17日 星期二 15:09

huanghao.c huanghao.c在gmail.com
星期二 七月 17 15:09:38 HKT 2007

我的一点问题都没有。
我觉得你的 pysqlite 有可能是 egg 形式安装的。 在 mod_python 形式下跑
web,egg 形式安装的容易出问题, egg 需要一个 cache 目录,
默认是在 /root/~xxx 下, 而 apache 没有权限访问该目录。解决办法是在
apache conf 里设置一个 SetENV EGG_PATH 之类(具体指令我忘记了)的指定
一个 egg cache 目录,并使该目录对于 Apache 来说是可访问的。 要不就不
安装 egg 形式的包,hoho.

cafeeee 写道:
> 1.和2.都通过了,第3个没试,看来就是mod_python+sqlite的问题了(在网上看
> 到了不少关于 mod_python和sqlite集成问题的帖子)
>
> 改用MySQL后一切正常了
>
>
> On 7/16/07, *Bruce Wang* < number5 at gmail.com
> number5 at gmail.com>> wrote:
>
>     另外装了 pysqlite 2.3.2 ? 删除那个看看。
>
>     用排除法做个测试:
>
>     1. 先在python命令行或者交互模式, 调用sqlite 创建数据库,插入一行.
>     如果成功证明 sqlite + python 是好的
>     2. 让django使用自带的http服务器执行, 如果成功,证明问题不在django
>     3. 使用CGI模式配置django 如果ok, 证明是mod_python的问题
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号