【问题标题】:Installing bitarray in Python 2.6 on Windows在 Windows 上的 Python 2.6 中安装 bitarray
【发布时间】:2010-10-21 06:37:36
【问题描述】:

我想在运行 python 2.6 的 Windows 中安装 bitarray

我安装了 mingw32,我将 C:\Python26\Lib\distutils\distutils.cfg 设置为:

[build]
compiler = mingw32

如果我在cmd.exe 窗口中输入:

C:\Documents and Settings\john\My Documents\bitarray-0.3.5>python setup.py install

我明白了:

[normal python messages skipped]
C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python26\include -IC:\Python26\PC -c bitarray/_bitarray.c -o build\temp.win32-2.6\Release\bitarray\_bitarray.o
bitarray/_bitarray.c:2197: error: initializer element is not constant
bitarray/_bitarray.c:2197: error: (near initialization for `BitarrayIter_Type.tp_getattro')
bitarray/_bitarray.c:2206: error: initializer element is not constant
bitarray/_bitarray.c:2206: error: (near initialization for `BitarrayIter_Type.tp_iter')
bitarray/_bitarray.c:2232: error: initializer element is not constant
bitarray/_bitarray.c:2232: error: (near initialization for `Bitarraytype.tp_getattro')
bitarray/_bitarray.c:2253: error: initializer element is not constant
bitarray/_bitarray.c:2253: error: (near initialization for `Bitarraytype.tp_alloc')
bitarray/_bitarray.c:2255: error: initializer element is not constant
bitarray/_bitarray.c:2255: error: (near initialization for `Bitarraytype.tp_free')
error: command 'gcc' failed with exit status 1

谁能帮忙?

【问题讨论】:

    标签: python c mingw bitarray


    【解决方案1】:

    MingW 无法编译 bitarray 源,我尝试使用 3.4.5 版本并得到相同的错误。 但是,它使用 Microsoft 编译器编译得很好。

    为了您的方便,我为 Python 2.6 构建了 msi 和 exe 安装程序:

    http://starship.python.net/crew/theller/bitarray-0.3.5.win32-py2.6.msi

    http://starship.python.net/crew/theller/bitarray-0.3.5.win32-py2.6.exe

    请将位数组作者指向它们,以便他可以将它们上传到 pypi。

    【讨论】:

    • Python 3.4.x 怎么样? :)
    【解决方案2】:

    我需要为自己构建 bitarray(我需要移位),所以我不能使用您预先构建的二进制文件。问题在于 mingw 无法与 __declspec(dllimport) 一起正常工作。 Python 已经通过使用自动导入而不是 declspec 为 cygwin 构建解决了这个问题。但是,对于 mingw 构建没有启用此功能。所以你要么需要修改 pyport.h 中的 PyAPI_FUNC 宏,要么添加

    #define __CYGWIN__
    

    到位数组源。

    【讨论】:

      猜你喜欢
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      • 2012-03-01
      • 2010-11-20
      • 1970-01-01
      • 2014-07-19
      相关资源
      最近更新 更多