首先,先说结论,别把虚拟环境放到中文路径中!!
有空格的路径我试了下还是可以的,而且windows中默认就有一些路径带空格
安装scrapy
昨晚,重新安装scrapy,以为以前安装过,应该简单得一笔。可是并没有如我所愿,主要是因为虚拟环境与pycharm。
安装中出现Failed build wheel for Twisted
Microsoft Visual C++ 14.0 is required
这个,一般只是缺少对应python版本的库而已
到https://www.lfd.uci.edu/~gohlke/pythonlibs/ 地址下载对应版本的twisted
如我是32位的python,所有我下载的是Twisted-18.9.0-cp36-cp36m-win32.whl
下载后使用 pip install 【文件名】进行安装,如我是pip install Twisted-18.9.0-cp36-cp36m-win32.whl
再尝试安装,pip install scrapy
如果还提示Microsoft Visual C++ 14.0 is required。
右键然后查看有没有对应版本的库,我是没有2014,不过我的2017应该兼容2014
如果没有, 请到https://visualstudio.microsoft.com/downloads/下载
好了,scrapy安装完了,但是我又出问题了。在虚拟环境中当时提示我缺少win32,于是我如下使用pip安装。
注意到在虚拟环境中,提示我已经安装过了。我还以为是装scrapy顺便帮我装的。结果是找了半天没找到答案。
最后发现了问题,我的虚拟环境,在中文路径中,无法正常使用虚拟环境中的pip(除非进他的目录)。而是调用我的全局python目录(环境变量里那个)。导致我在scrapy crawl命令时一直报错。
pycharm中使用scrapy
先用scrapy startproject命令创建scrapy项目,再用pycharm导入
加入虚拟环境
选择一个虚拟环境的解释器
点击加号
选择existing environment。千万别选上面那个,实测,使用这个新建的虚拟环境,一样会使用全局的python(就因为这双重坑害我一票玩通宵)
加入后,就可以正常使用了