大数据 爬虫Python AI SqlPython编程学习交流中心

安装Python,出现的最大错误(用pip安装pdftotext

2019-01-16  本文已影响0人  璃沫仙人

安装Python,出现的最大错误(用pip安装pdftotext总是报错)

安装Python有小伙伴,出现的最大错误(用pip安装pdftotext总是报错) 怎么办?

小伙伴们,文章有点不详细。有问题找小编或加小编的Q君羊 哦!!

提示系统里面,没有 pdftotext 。

用 pip 安装 pdftotext 这个软件包,总是报错。

image

无计可施

你的目的,不应该是跟报错信息较劲,而应该弄明白,到底出了什么问题。

出问题的包,是 pdftotext 对吧?

那你试试,在 github 上搜索一下,它对应的 repo 页面。

你很容易就找到这个网址。

image

下面请你下拉页面,看跟安装相关的部分。如下图所示:

image

注意,在安装(Install)一部分,操作非常简单,只需要一条 pip 命令就好。

pip install pdftotext

</pre>

跟你刚刚的操作,一模一样,对吧?

那怎么会出错呢?

请你往上看。

这里有个“系统依赖”(OS Dependencies)部分。它用了比安装命令多出数倍的篇幅,告诉你在不同的操作系统上,需要安装的依赖包。

如果你之前尝试过我的那篇《贷还是不贷:如何用Python和机器学习帮你决策?》教程,应该记得,你遇到过类似问题。

[图片上传失败...(image-902468-1539052087951)]

对,就是最后步骤,尝试绘制这幅决策树可视化图的时候,也遭遇到报错。

就是因为不少 Python 包,实际上是包裹了其他软件、甚至是系统级别的功能,方便你使用。要正常安装使用这种 Python 包,你首先需要确保系统拥有这些功能,或者已经安装了相应的软件。这就叫做依赖(Dependencies)。

好了,问题找到了。因为这位读者,没有安装对应的依赖。

所以,他虽然下了很大功夫,搜索问题病症和解决方案,但是都是从具体的报错信息出发的。因此一直跟 gcc 、头文件这些编译相关的内容较劲儿。找到的解决方案,其实跟遇到的问题,并不匹配。他其实本不需要见识各种各样的报错信息,而只需要把相应的依赖软件安装就好了。

image

那么,他需要执行:

brew install pkg-config poppler

</pre>

写到这里,似乎应该是个大团圆的结局了。对吧?

未必。

因为他非常可能,立即会遇到新的报错。

新问题

怎么又报错了?!

因为 brew 命令,属于 Homebrew 套件,它不是 macOS 系统里自带的工具。

好吧,他可以去搜索引擎查找 brew 是怎么回事儿,继而到 Homebrew 的官网成功下载,然后学习如何安装……

更多人用的操作系统,是 Windows 对不对?

回过头来看看,刚才的系统依赖清单里面,有 Windows 吗?

image

没有。

是不是因为作者忘了写?

又或者,是不是因为 Windows 本身已经有了相关软件集成,无须安装?

都不是。

现实是残酷的。

打开 pdftotext 官方 github 页面的答疑记录来看, Windows 干脆就无法像 Linux 或者 macOS 一样,一行命令安装好依赖。

image

软件作者给你指出的方向,居然是安装 Visual Studio 这样的编译器,然后自己编译出来。

对于文科生来说,这不厚道啊!

……

image

曲径

遇到问题,不要第一时间只想到“放弃”这种方法。

虽然学会止损很重要。但是如果因为有困难,就放弃解决问题,那就背离初衷了。

倘若人类的祖先都这样处理问题,今天我们或许都在树上呆着,跟大自然“和谐相处”呢。

但那恐怕只是我们的美好幻想——更大的可能性,是我们这个物种早就灭绝了。

面对新的问题,请你再度拿出“第一性原理”的思考方式。

注意我们的问题已经从“如何应对报错信息”,转换到了“如何正确安装 pdftotext ”软件包。

但是如果你在 Windows 平台,似乎这个软件包跟你缘分不是很密切。

怎么办?

我们再思考一步,真的必须要安装 pdftotext 这款软件包吗?

这样一问,答案呼之欲出:不一定啊!

许多功能,都有不同的软件包可以做到。

之前的教程里,你已经看到了许多的例子。

例如绘图,你既可以用 matplotlib ,也可以用 plotnine ;

中文分词,你既可以用 boson NLP,也可以用结巴分词;

深度学习,你既可以用 tflearn ,也可以用 Keras,还可以用 TuriCreate。

思考一下,使用 pdftotext 这个软件包,用来做什么?

对,是用来把 pdf 文件,变成文本。

有了文本,喂给 wordcloud 工具,它就能做成词云。

我们需要的,根本就不是正确安装 pdftotext ,而是找到一个工具,把 pdf 给我们转换成为文本。

好了,“把 pdf 转换成为文本”让你想到了什么?

这里是它的 github 页面。

image

下拉页面,可以看到专门有一个部分,给你介绍如何使用 pdfminer.six 命令行完成文本提取功能。

image

好了,我们的猜想被证实了。它完全可用。

另外请注意, pdfminer.six 的安装说明里,根本就没有提到操作系统依赖。

image

这就意味着,不管你用的是 Windows、Linux,还是 macOS ,都可以在不必安装依赖软件的情况下,直接用 pip 工具安装 pdfminer.six 。

步骤

下面我们来看看,如何用下面的简单步骤,实现我们的目的——直接用命令行而非编程方式,从 pdf 文件,分析并绘制词云。

先确保你的系统里面 python 3 已经安装。如需全新安装,请参考这个视频教程。

然后,用 pip 命令安装 wordcloud 软件包:

pip install wordcloud

</pre>

注意如果你在安装过程中遇到问题,请参考我的另一份视频教程。

之后,执行下述语句,安装 pdfminer.six 。

pip install pdfminer.six

</pre>

你可以自己新建一个测试目录,拷贝进入一个 pdf 文件。

或者,你也可以直接下载这个压缩文件,解压后有一个现成的 pdf 文件。后文还有对应生成词云结果,供你测试和对比。

我们打开这个样例 pdf 文件(名称为 test.pdf ),看看内容:

image

没毛病,对吧?

文章来自网络,如有侵权联系小编!

上一篇下一篇

猜你喜欢

热点阅读