最近需要用python读取docx模板,然后生成一个定制化的docx文档。大概3年前用过这个库,当时忘了是在mac还是linux上安装的,没觉得难装,昨天在Windows上安装,花了不少时间,有必要记录一下。
1、首先考虑用pip安装,如果OK,就不用往下看了。
$ pip install python-docx
2、如果上述命令在执行的过程中,出现 lxml安装报错,类似于下面的错误:
c:\users\acer\appdata\local\temp\xmlXPathInitiuy7la.c(1) : fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
C:\Python27\ArcGIS10.4\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
warnings.warn(msg)
error: command 'C:\\Users\\ACER\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2
----------------------------------------
Failed building wheel for lxml
可以考虑用pypi提供的lxml库的exe安装程序进行安装,不过好像最高只有3.8.0版本,其实这个版本已经够了,因为我想要安装的python-docx是0.8.10版本(截至2020.08.30的最新版),它需要 lxml 版本 >= 2.3.2即可。
方法:打开这个页面:https://pypi.org/project/lxml/3.8.0/#files,下载lxml-3.8.0.win32-py2.7.exe ,双击可执行程序进行安装即可。
3、安装好了lxml库,再执行 pip install python-docx,如果还是报错,且是报下面的错误:
error: can't copy 'docx\templates\default-docx-template': doesn't exist or not a regular file
----------------------------------------
Failed building wheel for python-docx
解决步骤:
1、直接在pypi上下载python-docx库源码,地址:https://files.pythonhosted.org/packages/e4/83/c66a1934ed5ed8ab1dbb9931f1779079f8bca0f6bbc5793c06c4b5e7d671/python-docx-0.8.10.tar.gz
2、解压,进入 python-docx-0.8.10\docx\templates 文件夹,删除 default-docx-template文件夹。
3、在python-docx-0.8.10的根目录下执行 python setup.py install,执行完后,不出意外就安装好了。