python - 构建 pygdal : Unknown distribution option: 'use_2to3_fixers' and 'use_2to3_exclude_fixers' 时出错

标签 python python-3.x linux gdal

解决方案如下:
在 Ubuntu 20.04 上构建 pygdal 时开始出现错误:

# Command
python3 -m pip install --no-cache-dir pygdal==3.0.4.*
产生以下输出
Collecting pygdal==3.0.4.*
  Downloading pygdal-3.0.4.6.tar.gz (458 kB)
     |████████████████████████████████| 458 kB 3.7 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-we7e68ge/pygdal/setup.py'"'"'; __file__='"'"'/tmp/pip-install-we7e68ge/pygdal/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-we7e68ge/pygdal/pip-egg-info
         cwd: /tmp/pip-install-we7e68ge/pygdal/
    Complete output (5 lines):
    /usr/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'use_2to3_fixers'
      warnings.warn(msg)
    /usr/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'use_2to3_exclude_fixers'
      warnings.warn(msg)
    error in pygdal setup command: use_2to3 is invalid.
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

重现错误的步骤是:
# Commands to run inside of running Ubuntu 20.04 docker instance
apt update
# install python3.8 and link python3 to this version - these next 2 steps may not be needed for your scenario
apt install -y python3.8
ln -s /usr/bin/python3.8 /usr/bin/python3
# done installing python3.8
apt install -y python3-pip
apt-get install -y python3-gdal gdal-bin libgdal-dev gcc g++ python3.8-dev git
python3 -m pip install --upgrade --no-cache-dir setuptools==58.0.4
python3 -m pip install --upgrade --no-cache-dir numpy wheel requests
python3 -m pip install --no-cache-dir pygdal==3.0.4.*
解决方案是安装旧版本的 setuptools。指定版本 58.0.2 及更早版本会导致构建成功。对于这个问题,我只回到了 58.0.0,但这是我第一次看到这个问题,所以早期版本应该也能工作。
# Replace the above installation of setuptools with the following
python3 -m pip install --upgrade --no-cache-dir setuptools==58.0.2

最佳答案

将上面安装的 setuptools 替换为以下内容

python3 -m pip install --upgrade --no-cache-dir setuptools==58.0.2
根据您使用的 pygdal 版本,您可能需要使用较早版本的 setuptools

关于python - 构建 pygdal : Unknown distribution option: 'use_2to3_fixers' and 'use_2to3_exclude_fixers' 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69123406/

相关文章:

python - 将外部包添加到 elastic beanstalk python 应用程序

linux - 如何在 linux 的 find 命令中解析密码?

linux - nginx工作进程对于单CPU来说最好有1个或多个进程吗?

python - eclipse pydev能否将文件解释为不带后缀的python文件

python - 装饰器如何与 Flask 应用程序实例绑定(bind)?

python - 如何按英文日期格式排序而不是美式 pandas .sort()

python - 为什么使用参数的 pandas.read_sql 比使用内联参数慢得多

python-3.x - 无法在 python 3.7 中导入 aerospike

regex - 正则表达式中的字节错误

linux - 模拟 HTTP 408?