ModuleNotFoundError: No module named '_contextvars'
由于上面这个错误我需要把我的 Python 版本从 python3.7.2 升级到 3.7.3。
官网下载最新的 python 安装文件之后,双击选择 repair 即可升级。
成功之后可以在 cmd 中输入:
python
查看新的 python 版本。结果如下证明升级成功。
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
当然虚拟环境的 python 版本还是 3.7.2。所以我们需要重新搭建虚拟环境。
我之前使用的虚拟环境是使用 Virtualenv 生成的这次使用 python 自带的 venv 工具创建虚拟环境。
在此之前首先导出之前虚拟环境安装的库。
使用下面的命令导出:
pip freeze > requirements.txt
注意一定要在虚拟环境中执行这个命令。
执行之后可以在 requirements.txt 中查看安装的库。
接下来退出虚拟环境,使用下面的命令使用 python 自带的 venv 工具创建虚拟环境。
python -m venv scrapy_env
其中 scrapy_env 是虚拟环境的名称,运行上面命令之后,可以看到一个 scrapy_env 的文件夹。进入此文件的 Scripts 文件夹执行:
activate
即可激活虚拟环境。在虚拟环境中输入:
python
可以看到 python 版本可以变为 3.7.3。
然后执行下面命令:
pip install -r requirements.txt
来安装之前虚拟环境中的库。
执行下面的命令:
pip freeze
查看已经安装的包。如果和 requeirements.txt 文件中的一致证明安装成功。
但是我又遇到了一个新的错误:
ERROR: Complete output from command python setup.py egg_info:
ERROR: Please specify --curl-dir=/path/to/built/libcurl
----------------------------------------
ERROR: Command "python setup.py egg_info" failed with error code 10 in C:\Users\jiang\AppData\Local\Temp\piinstall-77v7t2r6\pycurl\