我试图在我的 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 页面上看到构建正在通过。这实际上意味着什么?