Python 为PyPy构建枕头-未解析的外部

Python 为PyPy构建枕头-未解析的外部,python,windows,build,pypy,pillow,Python,Windows,Build,Pypy,Pillow,我一直在努力使用easy_install在我的Windows(XP)安装上为PyPy(2.1)构建枕头。 问题似乎与缺少所需的python/pypy头(?)有关。几天来,我一直在谷歌上下搜索,希望能找到一些人详细说明我遇到的问题,但没有找到任何有用的东西 我得到的错误日志是: ... C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ili

我一直在努力使用easy_install在我的Windows(XP)安装上为PyPy(2.1)构建枕头。 问题似乎与缺少所需的python/pypy头(?)有关。几天来,我一直在谷歌上下搜索,希望能找到一些人详细说明我遇到的问题,但没有找到任何有用的东西

我得到的错误日志是:

...

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox
/MD /W3 /GS- /DNDEBUG -IlibImaging -IC:\pypy-21\include -IC:\pypy-21\include /Tc
libImaging\UnsharpMask.c /Fobuild\temp.win32-2.7\Release\libImaging\UnsharpMask.obj

...
decode.obj : error LNK2001: unresolved external symbol __imp__PyType_Type
encode.obj : error LNK2001: unresolved external symbol __imp__PyType_Type
map.obj : error LNK2001: unresolved external symbol __imp__PyType_Type
encode.obj : error LNK2019: unresolved external symbol __imp___PyString_Resize r
eferenced in function __encode
encode.obj : error LNK2019: unresolved external symbol __imp__PyErr_SetFromErrno
 referenced in function __encode_to_file
encode.obj : error LNK2019: unresolved external symbol __imp__PyExc_SystemError
referenced in function __setimage
display.obj : error LNK2019: unresolved external symbol __imp__PyList_Append ref
erenced in function _list_windows_callback@8
display.obj : error LNK2019: unresolved external symbol __imp__PyErr_Print refer
enced in function _callback_error
display.obj : error LNK2019: unresolved external symbol __imp__PyFile_WriteStrin
g referenced in function _callback_error
display.obj : error LNK2019: unresolved external symbol __imp__PySys_GetObject r
eferenced in function _callback_error
display.obj : error LNK2019: unresolved external symbol _PyObject_CallFunction r
eferenced in function _windowCallback@16
path.obj : error LNK2001: unresolved external symbol _PyObject_CallFunction
display.obj : error LNK2019: unresolved external symbol __imp__PyThreadState_Swa
p referenced in function _windowCallback@16
display.obj : error LNK2019: unresolved external symbol __imp__PyThreadState_Get
 referenced in function _PyImaging_CreateWindowWin32
path.obj : error LNK2019: unresolved external symbol __imp__PyErr_ExceptionMatch
es referenced in function _PyPath_Flatten
path.obj : error LNK2019: unresolved external symbol __imp__PyNumber_Check refer
enced in function _PyPath_Flatten
path.obj : error LNK2019: unresolved external symbol __imp__PyExc_RuntimeError r
eferenced in function _path_clip_polygon
build\lib.win32-2.7\_imaging.pypy-21.pyd : fatal error LNK1120: 61 unresolved ex
ternals
error: command 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.e
xe' failed with exit status 1120
我真的很难理解为什么会发生这种情况,我实际上没有任何线索。我很容易就能为CPython构建包

据我所知,dependencies文件夹也包括在内:“-IC:\pypy-21\include”(?)

有关日志的更多信息,请参见

编辑-解决方案


在抓取PyPy2.2.1之后,我发现我的“PyPy-21/Include”路径中确实丢失了一些文件。所以。。枕头安装与新发现的标题刚刚好,它的运行完美无瑕!=)

PyPy没有实现CPython中的整个C扩展模块API。或者更确切地说,PyPy实现了Cext模块最可能使用的符号的合理子集,但PyPy无法在不吸收大部分CPython的情况下实际提供CPython提供的每个符号。我希望CPython在向外部代码公开什么符号时更加小心,但我不相信这是真的

PyPy最好使用纯Python模块。它也可以运行(相当慢)C扩展模块的子集。为了让PyPy导入这个特定的CPython C扩展模块,您可能正在打一场败仗


请记住,您不能在PyPy中JIT C代码。

我知道PyPy的CPyExt并不完全兼容。我正在制作枕头,但它与PyPy兼容。我很容易就能在Linux发行版上为PyPy构建枕头。