Centos7+安装python3+wkhtmltoPdf+pdfkit
前言
这几天要做一个将HTML转化为PDF的小功能。期间经历了颇多的挫折,刚开始是通过java做的,后来发现java库做这个事情实在是效果不理想,前端做好了样式转完之后会出现很多问题。后来我想起来python的库很丰富就上网找了pdfkit这个库,使用这个库需要安装wkhtmltopdf。完成之后觉得以后可能会需要到就把这个过程给记录下来。
安装python3
Centos7默认安装的有python2.7.5,而且yum也依赖这个东西。当时所以安装python3的时候要注意一下它俩的共存关系。安装完python3需要将软连接改为python3的连接,修改yum什么的。具体可以参考下面这个博客。当时安装这个python的时候真的是一把辛酸泪,我不知道centeos7自带的有python2我还以为我装错了,然后把python2删除了,后来发现yum不能用了然后上网查了一下才发现自己的操作是如此的骚,然后我就试着修复这个问题,最骚的操作是我拿着root的权限来操作,在删除几个文件的时候不小心打出了
rm -rf *
的操作然后把服务器给删了(完美),然后我就开始了漫长的加班之路。
wkhtmltoPdf安装
安装wkhtmltoPdf这个工程还是比较简单的,安装完我运行了一下发现出现了如下错误:
wkhtmltopdf: error while loading shared libraries: libXext.so.: cannot open shared object file: No such file or directory
这个错误刚开始让我以为是我删除python2删的,然后为了修复python2就开始了我删除服务器的道路(/捂脸哭)。后来发现是少了库,然后就用yum(说实话怎么着我也是要修复python2的,这就是命吧,注定我要删除服务器)安装,如果运行过程中出现其他错误,请看这篇博客。之后你可能会遇见转的pdf都是方块,什么中文不在什么的,请看这篇博客
pdfkit安装
这个是整个过程中最简单的操作。直接
pip install pdfkit
就可以了。
结束语
嗯,整个操作过程就是这样。从这个过程中我学到一个东西,千万不要轻易使用root权限操作文件,使用删除文件指令的之后一定要看清楚指令,一定要看清楚指令,一定要看清楚指令。
Centos7+安装python3+wkhtmltoPdf+pdfkit的更多相关文章
- Centos7 安装python3
Centos7 安装python3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #安装sqlite-devel yum -y ...
- centos7安装 python3.6,且保留2.7版本
CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...
- CentOS7 安装Python3,开发SocketIO 客户端
CentOS7安装Python3,开发SocketIO 客户端 参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573 步骤 ...
- centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。
centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题. 原因:yum调用Python,启动程/usr/bin/yum就是一个python ...
- Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim
一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...
- centos7安装python3.7
Centos7安装Python3的方法 由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_ ...
- centos7 安装 python3.5
centos7 安装 python3.5 一. python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前 ...
- CentOS7 安装Python3.6.8
CentOS7 安装Python3.6.8 1. 安装依赖环境 yum -y groupinstall "Development tools" yum -y install zli ...
- 解决Centos7安装python3后pip工具无法使用
问题描述: Centos7安装python3,正常流程全部配置完成,python3,pip3的软链接也建立了 但是python3可以正常使用,而pip3报错,无法找到文件或目录 解决方法: which ...
随机推荐
- 18年10月30日 NOIP模拟赛
T1 jkl 题解 显然每次都取a[i]的最大值/最小值,并更新a[i]即可 用数据结构维护这一操作..得分看常数 事实上用v[i]记录权值为i的个数,然后for乱搞就可以了... 其它乱搞做法能获得 ...
- 在web.xml中配置404错误拦截
<error-page> <error-code>404</error-code> <location>/home.do</location> ...
- AOP的本质
AOP的本质是HOOK: HOOK的本质是:新函数包含原函数或新函数替换原函数: 需要解决的问题: 1.新函数的生成: 2.新函数的调用机制: 3.原函数的调用机制: 新函数的生成: 1.将已有的动态 ...
- using指令都用了这么多年了,其实还真没懂!
在C语言中,我们经常使用#include<stdio.h>指令来导入标准输入输出库,这确实很好理解,相当于把代码复制到当前的程序中. 但在C#语言中,当我们写Console程序时,经常在第 ...
- 4698. [SDOI2008]Sandy的卡片【后缀数组】
Description Sandy和Sue的热衷于收集干脆面中的卡片.然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积 攒卡片兑换超炫的人物模型.每一张卡片都由一些数字进行标记, ...
- 多线程之synchronized
Java并发编程:synchronized 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患.比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据.今天我们就 ...
- VC++中关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息. OnDraw()是CVIEW的成员函数,并且没有响应消息的功能.这就是为什么你用VC成的程序代码时,在视图类只有OnDraw ...
- 初识Qt窗口界面
1.新建一个新的Qt Gui应用,项目名称随意,例如MyMainWindow,基类选择QMainWindow,类名为MainWindow. 2.项目建立后,双击mainwindow.ui文件,在界面的 ...
- C++——命名空间
C++命名空间基本常识 所谓namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的namespace中. 一 :<iostream>和< ...
- SSH免密码登录远程linux服务器
Linux下实现SSH无密码验证登陆 ssh配置 主机A:10.0.5.199 主机B:10.0.5.198 需要配置主机A无密码登录主机A,主机B 先确保所有主机的防火墙处于关闭状态. 在主机A上执 ...