Python 将build_ext选项传递给pip安装
是否有办法将Python 将build_ext选项传递给pip安装,python,build,installation,pip,Python,Build,Installation,Pip,是否有办法将build\u ext选项传递给pip install,以改变包中包含的扩展的编译方式?(是的,我知道可以下载源代码并使用自定义的setup.cfg构建/安装,但我很好奇是否可以通过pip直接传递setup.cfg中指定的选项。)我在pip中搜索了此类选项,但没有找到(也搜索了) 我认为在中国也没有这样的选择 我看到的唯一解决办法是老派的方式: download/unpack/setup.py build\u ext[options]/setup.py install 您可以在主目录
build\u ext
选项传递给pip install,以改变包中包含的扩展的编译方式?(是的,我知道可以下载源代码并使用自定义的setup.cfg
构建/安装,但我很好奇是否可以通过pip直接传递setup.cfg
中指定的选项。)我在pip
中搜索了此类选项,但没有找到(也搜索了)
我认为在中国也没有这样的选择
我看到的唯一解决办法是老派的方式:
download/unpack/setup.py build\u ext[options]/setup.py install
您可以在主目录中创建.pydistutils.cfg
文件,并像使用自定义setup.cfg
一样覆盖构建选项,但无需先解包
例如,您可以编写如下内容来更改include&lib搜索路径:
[build_ext]
include_dirs=/usr/local/include
library_dirs=/usr/local/lib64
rpath=/usr/local/lib64
可以使用
pip--global option=build\u ext
例如,对于支持PNG和JPEG且没有其他外部库的枕头,这是requirements.txt
:
pillow \
--global-option="build_ext" \
--global-option="--enable-zlib" \
--global-option="--enable-jpeg" \
--global-option="--disable-tiff" \
--global-option="--disable-freetype" \
--global-option="--disable-tcl" \
--global-option="--disable-tk" \
--global-option="--disable-lcms" \
--global-option="--disable-webp" \
--global-option="--disable-webpmux" \
--global-option="--disable-jpeg2000"
这实际上是对pip--global option
的滥用,其灵感来自于build\u ext
是一个pip命令,而不是一个真正的全局pip选项。但这将使pip执行两个命令—首先是build\u ext
,然后是install
—如下所示:
pip \
build_ext \
--enable-zlib --enable-jpeg \
--disable-tiff --disable-freetype --disable-tcl --disable-tk \
--disable-lcms --disable-webp --disable-webpmux --disable-jpeg2000 \
install pillow
杰出的像charm.pip build\u ext这样的功能现在对我不起作用。有趣的是,我完全忘记了我曾经知道这一点,然后用谷歌搜索了我自己的答案。