You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Codespace中安装libtiff库?

解决GitHub Codespace安装libtiff失败的问题

问题背景

作为Python新手,我只能用浏览器版GitHub Codespace做数据评估编程(工作笔记本装不了完整VS Code)。之前解决PIL合并TIF图片体积过大的问题时,得知需要用libtiff库实现压缩,但执行pip install libtiff时直接报错,我完全摸不着头脑——既没手动装过包,也不熟悉命令行,在线环境更增加了难度。之前已经成功安装了numpy,报错详情如下:

默认使用用户安装,因为普通site-packages不可写
正在收集libtiff
  使用缓存的libtiff-0.4.2.tar.gz (129 kB)
  准备元数据(setup.py)...完成
为收集到的包构建wheel:libtiff
  为libtiff构建wheel(setup.py)...错误
  错误:subprocess-exited-with-error

  × python setup.py bdist_wheel运行失败。
  │ 退出码:1
  ╰─> [454行输出]
      /tmp/pip-install-el105ybn/libtiff_3c8f7be65cac4954b582e0fcd10ed845/setup.py:77: 弃用警告:
      
        `numpy.distutils` 从NumPy 1.23.0开始已被弃用,这是`distutils`本身被弃用的结果。对于Python >= 3.12,它将被移除。对于旧版本Python,它会保留。
        建议这些Python版本使用`setuptools < 60.0`。
      
        from numpy.distutils.core import setup, Extension
      警告:采用默认配置(未找到libtiff/bitarray-a1646c0/bitarray/{setup_bitarray,setup}.py)
      将libtiff.bitarray配置追加到libtiff
      忽略尝试设置'name'(从'libtiff'改为'libtiff.bitarray')
      将libtiff配置追加到
      忽略尝试设置'name'(从''改为'libtiff')
      0.4.2
      运行bdist_wheel
      运行build
      运行config_cc
      信息:统一config_cc、config、build_clib、build_ext、build命令——编译器选项
      运行config_fc
      信息:统一config_fc、config、build_clib、build_ext、build命令——fcompiler选项
      运行build_src
      信息:build_src
      信息:构建扩展"bittools"源码
      信息:构建扩展"tif_lzw"源码
      信息:构建扩展"libtiff.bitarray._bitarray"源码
      信息:构建扩展"libtiff.bittools"源码
      信息:构建扩展"libtiff.tif_lzw"源码
      信息:构建data_files源码
      信息:build_src:构建npy-pkg配置文件
      /usr/local/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: Setuptools弃用警告:setup.py install已被弃用。
      !!
      
              ********************************************************************************
              请避免直接运行``setup.py``。
              请改用pypa/build、pypa/installer或其他基于标准的工具。
              ********************************************************************************

      <................ 此处省略大量输出 ..........>

      信息:CCompilerOpt.cache_flush[863] : 将缓存写入路径 -> /tmp/pip-install-el105ybn/libtiff_3c8f7be65cac4954b582e0fcd10ed845/build/temp.linux-x86_64-cpython-311/cc
ompiler_opt_cache_ext.py                                                                                                                                                          [输出结束]
  
  注意:此错误源自子进程,可能与pip无关。
  错误:构建libtiff的wheel失败
  为libtiff运行setup.py clean
构建libtiff失败
错误:无法为libtiff构建wheel,这是安装基于pyproject.toml的项目所必需的

解决方法

优先选:换用活跃维护的替代库

libtiff包已经停更6年多了(最新版是2017年的0.4.2),依赖的numpy.distutils早就被弃用,自然编译失败。直接换用pylibtiff,这个库一直在更新,支持TIF压缩功能,安装零折腾:

pip install pylibtiff

它的用法和旧libtiff差不多,完全能满足TIF图片压缩合并的需求,不用纠结编译问题。

非要用旧libtiff?试试降级依赖

如果必须用原libtiff,就得把setuptools降到60.0以下,numpy降到1.23.0以下(但不推荐,容易搞乱其他包的依赖):

pip install setuptools<60.0 numpy<1.23.0
pip install libtiff

补系统依赖试试(效果有限)

有时候编译失败是缺系统级的libtiff库,先装系统依赖再试:

sudo apt-get update && sudo apt-get install libtiff-dev
pip install libtiff

不过这个方法大概率解决不了旧libtiff的弃用依赖问题,还是优先换库。


内容的提问来源于stack exchange,提问作者Inselino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 21:47:41