psycopg2-ctypes
Je sais aussi que certaines personnes sont à l'aide de psycopg2-ctypes.
C'est le moyen le plus facile; pour rester compatible avec les deux, il suffit d'ajouter ce code dans votre Django settings.py
:
try:
import psycopg2
except ImportError:
# Fall back to psycopg2-ctypes
from psycopg2ct import compat
compat.register()
J'ai testé il y a quelques communiqués de ago; malheureusement, dans mon expérience, psycopg2-ctypes nie les petits gains de performances offertes par PyPy. Mais YMMV, il dépend de la façon dont JIT-friendly votre code est, en général, et quelle est la fraction de temps que vous dépensez réellement l'exécution de code Python. Et peut-être PyPy a juste amélioré depuis.
et je ne pense pas que psycopg2-ctypes est prêt pour Windows
Je n'ai pas essayé, mais ctypes est indépendant de la plateforme. AFAICT vous avez juste à vous assurer que l' libpq.dll
bibliothèque est chargeable (situé dans un répertoire dans votre variable d'environnement PATH ou un répertoire local) et il devrait fonctionner sur Windows comme sous Linux.
pypy-postgresql
Je ne vois qu'Alex Gaynor a fait un fork de PyPy appelé pypy-postgresql.
Je ne pense pas que c'est un bon choix à long terme. La direction générale n'a pas été mis à jour depuis plus d'un an et mes tentatives de construire ont échoué. Et il semble erroné de coder un driver PostgreSQL dans l'interpréteur de toute façon.
Je crois que il n'y a pas de binaires de pypy-postgresql, donc si vous voulez l'utiliser, vous aurez besoin de construire l'ensemble de la PyPy direction de vous-même. Pas pour les faibles de cœur: il faut plusieurs dizaines de minutes et d'une machine avec au moins 4 GO de mémoire. (Instructions officielles: http://pypy.org/download.html#building-from-source)
Pour construire, il faut d'abord la source. Si vous avez Mercurial installé, vous pouvez simplement hg clone https://bitbucket.org/alex_gaynor/pypy-postgresql
. Si pas, vous pouvez télécharger le automagique "astuce" fichier zip: https://bitbucket.org/alex_gaynor/pypy-postgresql/get/tip.zip
Ouvrez une ligne de commande, allez dans le répertoire décompressé, puis à l'intérieur d' pypy/translator/goal
Si vous avez PyPy installé, il est recommandé de l'utiliser pour la construction:
pypy translate.py -Ojit
Sinon:
python translate.py -Ojit
Malheureusement, ce n'est là que mes connaissances se termine. J'obtiens l'erreur "BytecodeCorruption: unimplemented opcode, ofs=234, code=203, name=BUILD_LIST_FROM_ARG
"