如何在virtualenv中使用MinGW编译Python C扩展?

gld*_*pud 2 python mingw virtualenv

在Windows上使用virtualenv与MinGW编译器结合使用时,编译C扩展会导致以下错误:

C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lpython25 
collect2: ld returned 1 exit status 
error: Setup script exited with error: command 'gcc' failed with exit status 1

如何成功编译C扩展?

gld*_*pud 6

设置LIBRARY_PATH环境变量,以便MinGW知道在哪里可以找到系统范围的Python libpython25.a.

在你的virtualenv中添加一行activate.bat:

set LIBRARY_PATH=c:\python25\libs
Run Code Online (Sandbox Code Playgroud)

或者在Windows中设置全局环境变量.

25如果您没有使用2.5版,请务必更改以符合您的Python版本.