Linux下无法从源码构建Pillow(Python Imaging Library)问题排查
问题分析与解决
问题根源
你之前的操作核心错误在于:使用pip install --upgrade Pillow --no-binary :all:时,pip会默认从PyPI拉取源码包(或调用本地缓存的包),不会自动关联你克隆到本地的Pillow仓库。你删除本地仓库src/libImaging文件的操作,只会影响本地克隆的目录,但pip完全没用到这个目录的代码,所以最终安装的还是标准的Pillow源码包,而非你本地修改后的版本。
正确操作步骤
要基于本地克隆的源码构建安装,需执行以下步骤:
- 进入你克隆的Pillow本地仓库目录:
cd /path/to/your/cloned/Pillow - 确保已安装好依赖(你之前装的
python3-dev、python3-setuptools已满足要求) - 使用pip从本地目录构建安装,关键是用
.指代当前本地源码目录,而非直接指定包名:python3 -m pip install --upgrade . --no-binary :all:
额外说明
如果担心之前的缓存包干扰,可以先清理pip缓存:
python3 -m pip cache purge
这样操作后,pip会基于你本地克隆的仓库源码进行构建,此时你删除src/libImaging的操作会直接影响构建过程(大概率会构建失败,以此验证确实使用了本地源码)。
内容的提问来源于stack exchange,提问作者duplexddaann
相关产品推荐
相关产品推荐

