3

我试图在我的 Windows 机器上使用 pip 从 PyPi 安装 lz4 包。这个包没有上传任何轮子,所以它需要在本地编译源代码。我安装了 Visual C++ for Python 编译器。

我跑了:

pip install lz4

这给了我一个编译错误:

C:\Users\Nick\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ic:\Python27\include -Ic:\Python27\PC /Tcsrc/lz4.c /Fobuild\temp.win32-2.7\Release\src/lz4.obj -std=c99 -O3 -Wall -W -Wundef -DLZ4_VERSION="r119"
cl : Command line error D8004 : '/W' requires an argument

从 PyPi 下载 tar 文件时,我可以看到-W-Wundef编译器参数被显式设置,但这些不是 MSVC 编译器的合法标志。

    ext_modules=[
    Extension('lz4', [
        'src/lz4.c',
        'src/lz4hc.c',
        'src/python-lz4.c'
    ], extra_compile_args=[
        "-std=c99",
        "-O3",
        "-Wall",
        "-W",
        "-Wundef",
        "-DLZ4_VERSION=\"r119\"",
    ])

我从源代码的本地副本中删除了这些,并针对修改后的代码运行设置。

python setup.py install

我仍然遇到 stdint.h 丢失的问题,在其他地方讨论过,但在解决安装成功后。

我的问题是:

  • 我在这里遗漏了什么,我的设置是否有问题意味着构建失败?
  • 有没有办法以特定于平台的方式在 setup.py 中指定命令参数?
  • 我可以在lz4 PyPi 页面上看到构建正在通过。这实际上意味着什么?
4

0 回答 0