我正在尝试在我的电脑(64位Windows7)上安装PyGSL,同时安装了Python2.7和GSL1.15。我几乎被困住了,我想要一些额外的帮助。GSL安装得很好,但问题出在包装器上。由于某些原因,我不能构建pygsl。显然,问题出在gcc身上(在另一台windows机器上也遇到了同样的问题)。或者,当我的电脑是x86时,pygsl似乎正在使用一个名为AMD64的文件。我很想为pygsl使用windows二进制文件,但它只适用于python2.5,而我的项目需要2.6或更高版本。我使用了用于GSL的两个windows二进制文件,并从源代码中构建了它,但无论哪种方式,我都会遇到相同的问题。我尝试将dll从GSL复制到pygsl中,但不起作用。一些论坛提到了一个名为gsl.dll的文件,但我似乎找不到它。我也尝试过使用Cygwin和用minGW32编译,但都无济于事。
我运行的cmds:
python setup.py install
python setup.py build
python setup.py build_ext -i
python setup.py build --compiler=mingw32
有什么想法吗?谢谢。
干杯,贝雷克特
在Cygwin中收到与windows cmd提示符中相同的信息。错误消息:
$ /cygdrive/c/Python27/python.exe setup.py build_ext -i
numpy
Forcing DISTUTILS_USE_SDK=1
Building testing ufuncs!
running build_ext
building 'errno' extension
C compiler: gcc -g -DDEBUG -DMS_WIN64 -mno-cygwin -O0 -Wall -Wstrict-prototypes
compile options: '-DSWIG_COBJECT_TYPES=1 -DGSL_RANGE_CHECK=1 -DDEBUG=1 -DNUMERIC=0 -DPYGSL_GSL_MAJOR_VERSION=1 -DPYGSL_GSL_MINOR_VERSION=15 -UNDEBUG -IC:\Users\Bereket\gsl-1.15\include -IInclude -I. -IC:\Python27\lib\site-packages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c'
gcc -g -DDEBUG -DMS_WIN64 -mno-cygwin -O0 -Wall -Wstrict-prototypes -DSWIG_COBJECT_TYPES=1 -DGSL_RANGE_CHECK=1 -DDEBUG=1 -DNUMERIC=0 -DPYGSL_GSL_MAJOR_VERSION=1 -DPYGSL_GSL_MINOR_VERSION=15 -UNDEBUG -IC:\Users\Bereket\gsl-1.15\include -IInclude -I. -IC:\Python27\lib\site-packages\numpy\core\include -IC:\Python27\include -IC:\Python27\PC -c src/init/errorno.c -o build\temp.win-amd64-2.7\Release\src\init\errorno.o
Found executable C:\cygwin\bin\gcc.exe
gcc -g -mno-cygwin -shared build\temp.win-amd64-2.7\Release\src\init\errorno.o -LC:\Users\Bereket\gsl-1.15\lib -LC:\Python27\libs -LC:\Python27\PCbuild\amd64 -lgsl -lgslcblas -lm -lpython27 -lmsvcr90 -o C:\Python27\Lib\pygsl-0.9.5\pygsl\errno.pyd
build\temp.win-amd64-2.7\Release\src\init\errorno.o: In function `add_errno':
/cygdrive/c/Python27/Lib/pygsl-0.9.5/src/init/errorno.c:14: undefined reference to `__imp__PyInt_FromLong'
/cygdrive/c/Python27/Lib/pygsl-0.9.5/src/init/errorno.c:20: undefined reference to `__imp__PyDict_SetItemString'
build\temp.win-amd64-2.7\Release\src\init\errorno.o: In function `initerrno':
/cygdrive/c/Python27/Lib/pygsl-0.9.5/src/init/errorno.c:37: undefined reference to `__imp__Py_InitModule4_64'
/cygdrive/c/Python27/Lib/pygsl-0.9.5/src/init/errorno.c:40: undefined reference to `__imp__PyModule_GetDict'
collect2: ld returned 1 exit status
error: Command "gcc -g -mno-cygwin -shared build\temp.win-amd64-2.7\Release\src\init\errorno.o -LC:\Users\Bereket\gsl-1.15\lib -LC:\Python27\libs -LC:\Python27\PCbuild\amd64 -lgsl -lgslcblas -lm -lpython27 -lmsvcr90 -o C:\Python27\Lib\pygsl-0.9.5\pygsl\errno.pyd" failed with exit status 1
发布于 2013-05-19 21:58:12
我现在非常确定我在Cygwin上的GSL安装失败了/有未解决的依赖项。我现在正在尝试用visual studio 2010来安装它。这里有一些很好的网站可以做到这一点:
发布于 2015-02-13 12:11:34
安装适用于Windows的Python2.7编译器是启动http://www.microsoft.com/en-gb/download/details.aspx?id=44266的好方法
运行python setup.py build_ext --inplace
为我做到了这一点。如果这不起作用,请让我知道。您可能需要添加一个环境变量。
你的Python是32还是64?选中打开Python并执行以下操作
import sys
sys.versions
https://stackoverflow.com/questions/16574890
复制相似问题