Pypy 3.2枕头问题

2024-10-01 11:25:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Ubuntu服务器14.04上。在

我尝试使用pypy3.2来运行django应用程序。在

但每当我尝试pypy3管理.py运行服务器0:8000,上面写着: (fields.E210)无法使用ImageField,因为没有安装枕头。 提示:在https://pypi.python.org/pypi/Pillow获取枕头或运行命令“pip install pill”。在

但如果我试着安装枕头: pypy3-m pip安装枕头

上面写着: 最新需求:Pillow-in/usr/local/lib/python3.4/dist-packages/Pillow-2.9.0-py3.4-linux-x86_64.egg

然后我下载了源代码并尝试: pypy3型设置.py安装

上面写着: 属性错误安装布局

我不知道该怎么办!!在

_<


Tags: pipdjangopyhttpsorg服务器pypi应用程序
1条回答
网友
1楼 · 发布于 2024-10-01 11:25:38

你应该用pypy3作为你的解释器来创建一个合适的virtualenv来运行你的django安装-在virtualenv中,pip应该只适用于django和枕头-没有奇怪的操作,比如pypy3 -m pip,它们会像你现在这样受到破坏。在

要创建一个virtualenv,其中默认的Python解释器是pypy3,只需执行virtualenv -p pypy3 myprojectdir-并用source myprojectdir/bin/activate激活它-对于lazy类型,有{}创建更多的快捷方式。从那以后,pip install任何东西都将在这个目录中安装thins,而不会扰乱(或检查)来自任何其他Python的系统包。在

这就是拥有一个健全的环境的方式-然而,它似乎你只是试图超越现有的优势-在互联网上有提到枕头与Pypy兼容(当然,也可以与python3兼容),但我找不到任何关于使用pypy3跑步枕头的提述。在

我可以通过在Linux系统上安装pypy3-devel并手动设置CFLAGS变量(我在这里使用fedora-on-Ubunut上应该有一个pypy3-dev包)来构建它而不会出错。但即使它确实构建了,它也无法在pypy上运行,引发ImportError: unable to load extension module 'PIL/_imaging.pypy3-24.so': PIL/_imaging.pypy3-24.so: undefined symbol: PyExc_SystemError;(在Fedora22i set CFLAGS=-I/usr/lib64/pypy3-2.4.0/include/上,检查你的pypy3-dev包,看看这些包含文件在Ubuntu上的位置)。在

TL;DR在您的项目中使用pypy2.x或常规的cPython3.4(当然这是首选),总有一天依赖关系会迎头赶上。无论哪种方式,Django都不应该从Pypy的JIT中获得太多好处——一个负载过重的web服务器必须处理数据库连接的可伸缩性(而不是Python)和良好的缓存(这也可以在Python之上的层上正确配置——看看“varnish”)。如果您的站点因不使用Pypy而受到影响的请求有那么多处理,请考虑使用celery/RPCs在另一个进程中运行瓶颈算法,并编写程序的这一部分以使用Pypy/Cython/pure C运行

相关问题 更多 >