我已经安装了wkhtmltopdf(patched qt)0.12.4,它在使用pdfkit时出现错误。我想安装未打补丁的qt版本,因为在我的本地设置中不会出现错误
我的dockerfile:
FROM python:3
RUN apt-get update
RUN apt-get install -y openssl build-essential libssl-dev libxrender-dev git-core libx11-dev libxext-dev libfontconfig1-dev libfreetype6-dev fontconfig libfontconfig1 libxrender1
RUN curl -L#o wk.tar.xz https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz \
&& tar xf wk.tar.xz \
&& cp wkhtmltox/bin/wkhtmltopdf /usr/bin \
&& cp wkhtmltox/bin/wkhtmltoimage /usr/bin \
&& rm wk.tar.xz \
&& rm -r wkhtmltox
WORKDIR /app/
COPY . /app
COPY requirements.txt /app
RUN pip install -r requirements.txt
EXPOSE 5000我的docker撰写文件:
version: "3.7"
volumes:
db_data:
services:
db:
image: mysql:5.7.29
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_DATABASE: mycamdata
volumes:
- db_data:/var/lib/mysql
ports:
- "3306:3306"
adminer:
image: adminer
restart: always
ports:
- 8080:8080
app:
build: .
command: python run.py --host=0.0.0.0 --port=5000
volumes:
- .:/app
ports:
- 5000:5000
depends_on:
- db当我尝试创建pdf时,我得到了这个错误:我认为这个错误是因为wkhtmltopdf(patched qt)版本与pdfkit不兼容。我想安装未打补丁的qt版本
OSError: wkhtmltopdf报告错误:正在加载页面(1/6) >0%======>10%QSslSocket:无法解析CRYPTO_num_locks QSslSocket:无法解析CRYPTO_set_id_callback QSslSocket:无法解析CRYPTO_set_locking_callback QSslSocket:无法解析sk_free QSslSocket:无法解析sk_numQSslSocket:无法解析sk_pop_free QSslSocket:无法解析sk_value QSslSocket:无法解析SSL_library_init QSslSocket:无法解析SSL_load_error_strings QSslSocket:无法解析SSLv3_client_method QSslSocket:无法解析SSLv23_client_method QSslSocket:无法解析SSLv3_server_method QSslSocket:无法解析SSLv23_server_method QSslSocket:无法解析X509_STORE_CTX_get_chain QSslSocket:无法解析:无法调用未解析函数CRYPTO_num_locks QSslSocket:无法调用未解析函数CRYPTO_set_id_callback QSslSocket:无法调用未解析函数CRYPTO_set_locking_callback QSslSocket:无法调用未解析函数SSL_library_init QSslSocket:无法调用未解析函数SSLv23_client_method QSslSocket:无法调用未解析函数sk_num ======================> 38%===========================>45%QSslSocket:无法调用未解析函数SSLv23_client_method QSslSocket:无法调用未解析函数============================================================ SSL_library_init QSslSocket:无法调用未解析的函数SSL_library_init QSslSocket:无法调用未解析的函数SSLv23_client_method QSslSocket:无法调用未解析的函数SSL_library_init QSslSocket:无法调用未解析的函数SSLv23_client_method QSslSocket:无法调用未解析的函数SSL_library_init function 100%计数页(2/6)
============================================================对象1解析链接(4/6)
正在加载页眉和页脚的============================================================对象1(共1个) (5/6)
打印页面(6/6) >准备============================================================第1页(共1页)完成
由于网络错误,退出时返回代码1: UnknownNetworkError QSslSocket:无法调用未解析的函数CRYPTO_num_locks QSslSocket:无法调用未解析的函数CRYPTO_set_id_callback QSslSocket:无法调用未解析的函数CRYPTO_set_locking_callback
发布于 2021-06-30 21:36:44
我通过将以下几行添加到基于Debian Buster镜像的dockerfile (wkhtmlto*版本0.12.6-1,2021年6月)解决了这个问题。
RUN apt-get update -qq && apt-get install -y \
# packages required by wkhtmlto*:
xfonts-base \
xfonts-75dpi \
pdftk # -> only if needed... \
# ...other custom packages...
RUN curl -L#o wkhtmltopdf.deb https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb
RUN dpkg -i wkhtmltopdf.deb; apt-get install -y -f
# Remember to clean your package manager cache to reduce your custom image size...
RUN apt-get clean all \
&& rm -rvf /var/lib/apt/lists/*你可以在这里找到相同包的其他版本:https://github.com/wkhtmltopdf/packaging/releases/0.12.6-1
https://stackoverflow.com/questions/61188580
复制相似问题