栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使PyPy,Django和PostgreSQL一起工作?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使PyPy,Django和PostgreSQL一起工作?

psycopg2cffi(2015年更新)

psycopg2cffi是又一个与psycopg2兼容的替代品,应该通过PyPy提供最佳的PostgreSQL性能。将此添加到您的文件中,

settings.py
以保持两者的兼容性:

try:    import psycopg2except importError:    # Fall back to psycopg2cffi    from psycopg2cffi import compat    compat.register()

psycopg2-ctypes(2012)

我也知道有些人正在使用psycopg2-ctypes。

这是最简单的方法。为了保持两者的兼容性,只需在Django中添加以下代码

settings.py

try:    import psycopg2except importError:    # Fall back to psycopg2-ctypes    from psycopg2ct import compat    compat.register()

我在几个版本之前测试过;可悲的是,根据我的经验,psycopg2-ctypes抵消了PyPy带来的少量性能提升。但是YMMV,这取决于您的代码总体上对JIT的友好程度以及您实际花费在运行Python代码上的时间的比例。从那时起,也许PyPy才有所改善。

而且我不认为psycopg2-ctypes可以用于Windows

我没有尝试过,但是ctypes是平台无关的。在AFAICT中,您只需要确保该

libpq.dll
库是可加载的(位于PATH环境变量中的目录或本地目录中),它就可以像在Linux中那样在Windows上工作。

pypy-postgresql

我确实看到Alex Gaynor制作了一个名为pypy-postgresql的PyPy分支。

从长远来看,我认为这不是一个好选择。该分支已经一年多没有更新了,我建立它的尝试失败了。无论如何,在解释器中对PostgreSQL驱动程序进行硬编码似乎是错误的。

我相信pypy-
postgresql也没有二进制文件,因此,如果要使用它,则需要自己构建整个PyPy分支。不是为了胆小的人:这需要数十分钟,并且一台机器至少需要4
GB的内存。(官方说明:http :
//pypy.org/download.html#building-from-
source)

要构建,首先需要源。如果您安装了Mercurial,则只需

hg clone https://bitbucket.org/alex_gaynor/pypy-postgresql
。如果没有,您可以下载自动的“ tip”
zip文件:https :
//bitbucket.org/alex_gaynor/pypy-
postgresql/get/tip.zip

打开命令行,进入解压缩的目录,然后在内部

pypy/translator/goal

如果您安装了PyPy,建议使用它进行构建:

pypy translate.py -Ojit

除此以外:

python translate.py -Ojit

可悲的是,这就是我的知识的终点。我收到错误“

BytepreCorruption: unimplemented oppre, ofs=234,pre=203, name=BUILD_LIST_FROM_ARG



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668418.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号