如何在 Ubuntu 18.04 上为 WeasyPrint 51 安装 Cairo 1.16.0
How do I install Cario 1.16.0 for WeasyPrint 51 on Ubuntu 18.04
我需要 Cario > 1.15.4 才能使 weasyprint 51 正常工作 (https://weasyprint.readthedocs.io/en/latest/install.html),但文档似乎认为它与 运行ning:
一样简单
sudo apt-get install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
...用于 Ubuntu 安装。但这给了我:
The following packages have unmet dependencies:
libcairo2 : Depends: libc6 (>= 2.29) but 2.24-11+deb9u4 is to be installed
Depends: libfontconfig1 (>= 2.12.6) but 2.11.0-6.7+b1 is to be installed
Depends: libfreetype6 (>= 2.9.1) but 2.6.3-3.2 is to be installed
python3-cffi : Depends: python3-cffi-backend (< 1.9.1-2+c) but it is not going to be installed
Depends: python3-cffi-backend (>= 1.9.1-2) but it is not going to be installed
Depends: python3-pycparser but it is not going to be installed
python3-dev : Depends: libpython3-dev (= 3.5.3-1) but it is not going to be installed
Depends: python3.5-dev (>= 3.5.3-1~) but it is not going to be installed
python3-pip : Depends: python-pip-whl (= 9.0.1-2+deb9u1) but it is not going to be installed
python3-setuptools : Depends: python3-pkg-resources (= 33.1.1-1) but it is not going to be installed
所以我尝试了 apt -f install
,然后再次 运行 命令。一切正常但 apt list | grep libcairo2
仍然显示:
libcairo2/oldstable,now 1.14.8-1 amd64 [installed]
libcairo2-dev/oldstable 1.14.8-1 amd64
libcairo2-doc/oldstable 1.14.8-1 all
所以我尝试了 apt install libcairo2-dev
但我得到:
root@f8657d732ac8:~# apt list | grep cairo
...
libcairo2/now 1.14.8-1 amd64 [installed,local]
libcairo2-dev/now 1.14.8-1 amd64 [installed,local]
...
我也试过:
wget http://archive.ubuntu.com/ubuntu/pool/main/c/cairo/libcairo2_1.16.0-4_amd64.deb
dpkg -i libcairo2_1.16.0-4_amd64.deb
但后来我得到:
root@54e69efbb962:~# dpkg -i libcairo2_1.16.0-4_amd64.deb
(Reading database ... 30555 files and directories currently installed.)
Preparing to unpack libcairo2_1.16.0-4_amd64.deb ...
Unpacking libcairo2:amd64 (1.16.0-4) over (1.14.8-1) ...
dpkg: dependency problems prevent configuration of libcairo2:amd64:
libcairo2:amd64 depends on libc6 (>= 2.29); however:
Version of libc6:amd64 on system is 2.24-11+deb9u4.
libcairo2:amd64 depends on libfontconfig1 (>= 2.12.6); however:
Version of libfontconfig1:amd64 on system is 2.11.0-6.7+b1.
libcairo2:amd64 depends on libfreetype6 (>= 2.9.1); however:
Version of libfreetype6:amd64 on system is 2.6.3-3.2.
dpkg: error processing package libcairo2:amd64 (--install):
dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Errors were encountered while processing:
libcairo2:amd64
root@54e69efbb962:~#
如果我 运行 apt --fix-broken install
修复损坏的依赖项和 运行 dpkg -i libcairo2_1.16.0-4_amd64.deb
我得到相同的结果。
我也试过 apt install ./libcairo2_1.16.0-4_amd64.deb
并且给了我:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
libcairo2 : Depends: libc6 (>= 2.29) but 2.24-11+deb9u4 is installed
Depends: libfontconfig1 (>= 2.12.6) but 2.11.0-6.7+b1 is installed
Depends: libfreetype6 (>= 2.9.1) but 2.6.3-3.2 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
有什么想法吗?
我尝试在新的 ubuntu 18.04 docker 映像上安装软件包,并且安装得很顺利。以下是我执行的步骤:
apt-get update && apt-get install -y lsb-release && apt-get clean all
apt-get install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
pip3 install weasyprint
我在 Docker Hub 上传了容器镜像。
docker pull jegtugado/public:weasyprint
我需要 Cario > 1.15.4 才能使 weasyprint 51 正常工作 (https://weasyprint.readthedocs.io/en/latest/install.html),但文档似乎认为它与 运行ning:
一样简单sudo apt-get install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
...用于 Ubuntu 安装。但这给了我:
The following packages have unmet dependencies:
libcairo2 : Depends: libc6 (>= 2.29) but 2.24-11+deb9u4 is to be installed
Depends: libfontconfig1 (>= 2.12.6) but 2.11.0-6.7+b1 is to be installed
Depends: libfreetype6 (>= 2.9.1) but 2.6.3-3.2 is to be installed
python3-cffi : Depends: python3-cffi-backend (< 1.9.1-2+c) but it is not going to be installed
Depends: python3-cffi-backend (>= 1.9.1-2) but it is not going to be installed
Depends: python3-pycparser but it is not going to be installed
python3-dev : Depends: libpython3-dev (= 3.5.3-1) but it is not going to be installed
Depends: python3.5-dev (>= 3.5.3-1~) but it is not going to be installed
python3-pip : Depends: python-pip-whl (= 9.0.1-2+deb9u1) but it is not going to be installed
python3-setuptools : Depends: python3-pkg-resources (= 33.1.1-1) but it is not going to be installed
所以我尝试了 apt -f install
,然后再次 运行 命令。一切正常但 apt list | grep libcairo2
仍然显示:
libcairo2/oldstable,now 1.14.8-1 amd64 [installed]
libcairo2-dev/oldstable 1.14.8-1 amd64
libcairo2-doc/oldstable 1.14.8-1 all
所以我尝试了 apt install libcairo2-dev
但我得到:
root@f8657d732ac8:~# apt list | grep cairo
...
libcairo2/now 1.14.8-1 amd64 [installed,local]
libcairo2-dev/now 1.14.8-1 amd64 [installed,local]
...
我也试过:
wget http://archive.ubuntu.com/ubuntu/pool/main/c/cairo/libcairo2_1.16.0-4_amd64.deb
dpkg -i libcairo2_1.16.0-4_amd64.deb
但后来我得到:
root@54e69efbb962:~# dpkg -i libcairo2_1.16.0-4_amd64.deb
(Reading database ... 30555 files and directories currently installed.)
Preparing to unpack libcairo2_1.16.0-4_amd64.deb ...
Unpacking libcairo2:amd64 (1.16.0-4) over (1.14.8-1) ...
dpkg: dependency problems prevent configuration of libcairo2:amd64:
libcairo2:amd64 depends on libc6 (>= 2.29); however:
Version of libc6:amd64 on system is 2.24-11+deb9u4.
libcairo2:amd64 depends on libfontconfig1 (>= 2.12.6); however:
Version of libfontconfig1:amd64 on system is 2.11.0-6.7+b1.
libcairo2:amd64 depends on libfreetype6 (>= 2.9.1); however:
Version of libfreetype6:amd64 on system is 2.6.3-3.2.
dpkg: error processing package libcairo2:amd64 (--install):
dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Errors were encountered while processing:
libcairo2:amd64
root@54e69efbb962:~#
如果我 运行 apt --fix-broken install
修复损坏的依赖项和 运行 dpkg -i libcairo2_1.16.0-4_amd64.deb
我得到相同的结果。
我也试过 apt install ./libcairo2_1.16.0-4_amd64.deb
并且给了我:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
libcairo2 : Depends: libc6 (>= 2.29) but 2.24-11+deb9u4 is installed
Depends: libfontconfig1 (>= 2.12.6) but 2.11.0-6.7+b1 is installed
Depends: libfreetype6 (>= 2.9.1) but 2.6.3-3.2 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
有什么想法吗?
我尝试在新的 ubuntu 18.04 docker 映像上安装软件包,并且安装得很顺利。以下是我执行的步骤:
apt-get update && apt-get install -y lsb-release && apt-get clean all
apt-get install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
pip3 install weasyprint
我在 Docker Hub 上传了容器镜像。
docker pull jegtugado/public:weasyprint