如何用config-settings替代pip已移除的install-option参数?
在Windows上用pip 23.1+通过--config-settings传递C++扩展库目录的正确方法
直接用以下格式的命令就能解决问题:
pip install --config-settings="build_ext.library_dirs=/path/to/lib" *.zip
为什么之前的写法无效?
pip 23.1移除--install-option后,--config-settings需要直接对应构建后端(这里是setuptools)的参数格式,而不是把原来的--install-option嵌套进去。你之前的命令相当于把整个--install-option=build_ext作为配置项传递,setuptools根本不会解析这种格式,自然不会把库目录传给link.exe。
多参数传递示例
如果还需要指定头文件目录,可以继续追加--config-settings:
pip install --config-settings="build_ext.library_dirs=/path/to/lib" --config-settings="build_ext.include_dirs=/path/to/include" *.zip
这种写法直接对应setuptools中build_ext命令的参数,会被正确解析并传递给编译链接流程,确保link.exe能拿到指定的库目录。
内容的提问来源于stack exchange,提问作者snark
相关产品推荐
相关产品推荐

