类型错误:';编码';在Python2.7上安装CairoSVG和WeazyPrint时

类型错误:';编码';在Python2.7上安装CairoSVG和WeazyPrint时,python,Python,在Dockerfile上安装CairoSVG和WeazyPrint时,我不断遇到以下类型错误: Collecting WeasyPrint Downloading WeasyPrint-0.34.tar.gz (391kB) Collecting cairosvg Downloading CairoSVG-2.0.1.tar.gz Complete output from command python setup.py egg_info: Traceback (most

在Dockerfile上安装CairoSVG和WeazyPrint时,我不断遇到以下类型错误:

Collecting WeasyPrint
  Downloading WeasyPrint-0.34.tar.gz (391kB)
Collecting cairosvg
  Downloading CairoSVG-2.0.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-pSKp0y/cairosvg/setup.py", line 24, in <module>
        with open(init_path, 'r', encoding='utf-8') as fd:
    TypeError: 'encoding' is an invalid keyword argument for this function
收集WeasyPrint
下载WeasyPrint-0.34.tar.gz(391kB)
收集cairosvg
下载CairoSVG-2.0.1.tar.gz
从命令python setup.py egg_info完成输出:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/tmp/pip-build-pSKp0y/cairosvg/setup.py”,第24行,在
将开放(初始路径'r',编码'utf-8')作为fd:
TypeError:“encoding”是此函数的无效关键字参数
经过一段时间后,我发现CairoSVG-2.x适用于Python 3+。当我安装1.x版本时,问题已解决:

pip install cairosvg==1.0.22

这对我也有用。我对它为什么在Python3而不是Python2中工作感到非常恼火,幸运的是找到了这个线程。谢谢你发布答案。