Python language-check包的安装(涉及pycontractions的安装)
最近朋友lzr求助,表示 pycontractions 包装不上,先是报 error: Microsoft Visual C++ 14.0 or greater is required. ,解决完这个问题后又报urllib.error.URLError 和ERROR: Failed building wheel for language-check 错误。
第一个错误网上已经有解决的方法(报错的后面也给了解决的链接),在此不再赘述。这里重点阐述第二个错误,也就是装不上language-check 的URLError 错误。据说这已经是一个老bug了,但是没人修,于是我稍加尝试,成功解决了问题并装上了language-check ,进而装上了pycontractions 。以下是主要的解决步骤:
1. language-check 的安装
1.1 下载源文件到本地
在 PyPI 里搜索 language-check ,然后下载源文件到本地: 
1.2 修改源文件
搜索URLError 错误的相关信息,可以知道出现这个错误的主要原因是我们的URL请求由于不含任何设备信息,所以被服务器当成了爬虫并被禁止访问。解决方法就是在访问链接时,加入header 参数。通过定位错误,可以找到language-check 的源码进行URL访问的代码:language-check-1.1/download_lt.py 的第128行:  再仿照解决URLError 错误的方法:  于是对源文件稍加修改:   即把第19行替换为如下:
from urllib.request import urlopen, Request
再第128行替换为如下:
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
req = Request(url=url, headers=headers)
with closing(urlopen(req)) as u:
保存,即完成对源文件的修改。
1.3 用pip安装修改后的language-check源文件
使用终端进入源文件所在文件夹language-check-1.1 ,执行
python setup.py install
 (如果下载过程卡了,可以Ctrl + C 取消,然后重试)
2 安装 pycontractions
安装好 language-check 后,就可以执行以下代码进行安装了
pip install pycontractions
3 懒人太长不看版
- 下载 language-check 的源码文件
- 下载临时补丁,按压缩包内的 README.txt 操作
|