问题
在Win10机器上,不管是安装scrapy还是channels,都需要安装一个包,叫做twisted。正是这个twisted,导致出现一系列的奇葩错误,让我一度以为我的Pycharm坏了,还改了各种系统配置,太可怕了!
安装teisted时候可能会出现多种错误,这里举几个例子。
有一个错误叫做UnicodeDecodeError,说是什么utf-8编码格式不对,我也不知道怎么会出现这种错误。百度解决方法说修改pip的配置文件吧utf-8改成gbk,相信我,改了之后又会出现另外一种错误,涉及VSC++等系统文件,根本不想深究,所以还是别改了,看看下面的解决方案吧~
解决方案
言归正传,究极原因是 twisted 官方包暂不支持 Python 3.x,那么,在 Windows 上使用 Python 3.x 通过 pip 安装 twisted 总是会报错,所以依赖它的某些模块/包,比如 scrapy、channels等,同样安装不上。
不过没有关系,我们通过其他方式安装 twisted——下载非官方的 twisted。
下载网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted;
一个小小的前提是安装了wheel模块,整个步骤大概是这样的:
- 安装wheel:pip install wheel;
- 下载对应版本whl文件,比如你的python版本是3.6.x,那么你应该选择包含cp36字样,再根据系统是32位还是64位二选一下载(不知道为什么,我的win10是64位,最后64位那个安装错误,32位那个文件反而可以,可能我的系统是盗版的吧)
- 利用whl安装:pip install whl文件路径。
安装该死的twisted之后,你应该可以正常安装scrapy/channels等模块了。
一个pip小问题
pip刚出 10.x 版本,对比 9.x,好像改了很多,建议暂时不要使用 pip 10.x,虽然 pycharm 不断地提醒你更新 pip 版本,瞎逼逼一句,pycharm 对 pip10.x 的支持好像有一点点bug,你在使用新版本安装新的模块时会出现一个错误:AttributeError: module 'pip' has no attribute 'main'。
百度这个错误,有一些说法是更改一个文件(packaging_tool.py),可是我到死也没有找到那个文件,而且我想说的是,不要随便更改软件的配置文件,还是等pycharm自己更改吧,默默地用 pip 9.x 好像没有什么影响啊!
参考链接
https://blog.csdn.net/sinat_20729643/article/details/78919859
本文版权归作者AlvinZH和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.