前言

这几天要做一个将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的更多相关文章

  1. 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 ...

  2. centos7安装 python3.6,且保留2.7版本

    CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...

  3. CentOS7 安装Python3,开发SocketIO 客户端

    CentOS7安装Python3,开发SocketIO 客户端 参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573 步骤 ...

  4. centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。

    centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题. 原因:yum调用Python,启动程/usr/bin/yum就是一个python ...

  5. 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 ...

  6. centos7安装python3.7

    Centos7安装Python3的方法   由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_ ...

  7. centos7 安装 python3.5

    centos7 安装 python3.5 一. python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前 ...

  8. CentOS7 安装Python3.6.8

    CentOS7 安装Python3.6.8 1. 安装依赖环境 yum -y groupinstall "Development tools" yum -y install zli ...

  9. 解决Centos7安装python3后pip工具无法使用

    问题描述: Centos7安装python3,正常流程全部配置完成,python3,pip3的软链接也建立了 但是python3可以正常使用,而pip3报错,无法找到文件或目录 解决方法: which ...

随机推荐

  1. 【译文】MySQL InnoDB 事物模型

    InnoDB事物模型 事物的隔离级别 自动提交,提交和回滚 一致的非锁定读 锁定读 在InnoDB事物模型中,目标是为了多版本数据库和传统的俩段锁协议的最佳实践(多版本并发控制).InnoDB在行级别 ...

  2. ceph crush算法和crushmap浅析

    1 什么是crushmap crushmap就相当于是ceph集群的一张数据分布地图,crush算法通过该地图可以知道数据应该如何分布:找到数据存放位置从而直接与对应的osd进行数据访问和写入:故障域 ...

  3. Java8新特性 -- Lambda基础语法

    Lambda 表达式的基础语法: Java8引入了一个新的操作符 “->”  该操作符称为箭头操作符或Lambda操作符, 该操作符将Lambda表达式拆分为两部分: 左侧: Lambda表达式 ...

  4. 【css】css实现点击Toggle功能/icon切换

    ①实现Toggle功能 html结构: <div class="cssTog"><label> <p> 专业:B020309现代企业管理(独立本 ...

  5. Linux虚拟机下安装Oracle 11G教程

    1.安装环境 操作系统:Red hat 6.5 内存:内存最低要求256M (使用:grep MemTotal /proc/meminfo 命令查看) 交换空间:SWAP交换空间大小根据内存大小决定( ...

  6. class和object_getClass方法区别

    一.概述 如上图: 1.内存创建一个instance实例对象(Person *per),同时会创建一个与之对应的类对象(Class perClass)和元类对象(Class perMeta); 注:实 ...

  7. 【OC底层】Category、+load方法、+initialize方法原理

    Category原理 - Category编译之后的底层结构是 struct categroy_t,里面存储着分类对象方法.属性.协议信息- 当程序运行时,通过runtime动态的将分类的方法.属性. ...

  8. html 头标签 <meta http-equiv 属性应用。

    比较常用的 1. 网页出现乱码时设置字符集 <meta http-equiv="content-Type" content="text/html; charset= ...

  9. uva 1590 - IP Networks(IP地址)

    习题4-5 IP网络(IP Networks, ACM/ICPC NEERC 2005, UVa1590) 可以用一个网络地址和一个子网掩码描述一个子网(即连续的IP地址范围).其中子网 掩码包含32 ...

  10. 关于Matlab在绘图时中文字体显示不一致的问题

    我的运行环境: OS: Win10 教育版 64-bit Matlab版本:Matlab 2017a  64-bit 在使用Matlab绘图时,而横坐标轴.纵坐标轴.标题有汉字时,会发现在GUI的显示 ...