0

easy_install を使用して、Windows (XP) インストールで PyPy (2.1) 用の Pillow をビルドするのに苦労しています。問題は、必要な python/pypy ヘッダーの欠落に関連しているようです(?)。私が抱えている問題について詳しく説明してくれる人を何人か見つけられることを期待して、私は何日もの間 Google を上下に検索してきましたが、役立つものは何も見つかりませんでした。

私が取得しているエラーログは次のとおりです。

...

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 のパッケージを簡単にビルドできます。

私が見る限り、依存関係フォルダーも含まれています: "-IC:\pypy-21\include"(?)。

ログの詳細については、http://pastebin.com/raw.php? i=kKnNpRgrを参照してください。

編集 - 解決策

PyPy 2.2.1 を取得した後、「PyPy-21/Include」パスにいくつかのファイルが実際にないことがわかりました。それで..枕は新しく発見されたヘッダーでうまくインストールされ、完璧に動作しています! =)

4

1 に答える 1

-1

PyPy は、CPython にある C 拡張モジュール API 全体を実装していません。というか、PyPy は Cext モジュールが使用する可能性が最も高いシンボルの妥当なサブセットを実装していますが、PyPY は CPython の大部分を吸い込まずに CPython が提供するすべてのシンボルを現実的に提供することはできませんでした。CPython が、外部コードに公開するシンボルについてもっと注意を払ってくれればいいのにと思いますが、そうではないと思います。

PyPy は Pure Python モジュールに最適です。C拡張モジュールのサブセットも(かなりゆっくりと)実行できます。PyPy にこの特定の CPython C 拡張モジュールをインポートさせようとして、負け戦を繰り広げているかもしれません。

PyPy では C コードを JIT できないことに注意してください。

于 2013-12-16T03:30:49.930 に答える