win10安装scrapy报错的解决方法(error: Microsoft Visual C++ 14.0 is required.)——转载

本文提供在Windows 10环境下,使用Python 3.6.4进行Scrapy安装的详细步骤,包括通过下载特定版本的Twisted包避免Microsoft Visual C++ 14.0依赖问题,以及最终安装Scrapy的具体命令。

转载地址:https://blog.youkuaiyun.com/saucyj/article/details/79043443


 
解决Python3.6中安装Scrapy包时出现的此类错误:error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
 

一般按照提示是需要安装一个C++14.0的一个库,但是进入网址后,此库总的有4G这么大,下载安装肯定不现实,好在在https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted,已经给我们集成了这个包,可以跳过这库的安装。


运行环境:

Win 10;

Python3.6.4, 64位

安装Twisted包来进一步安装Scrapy。

1.首先打开https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted,找到对应版本的Twisted并下载到你的文件夹。此例为Twisted‑17.9.0‑cp36‑cp36m‑win_amd64.whl

2.利用pip install命令安装指定存储路径下的whl文件。此例如图所示

C:\Users\Tony>pip install D:\安装包\Twisted-17.9.0-cp36-cp36m-win_amd64.whl
 

运行成功示意图:

3.利用pip install 命令继续安装Scrapy,命令为

pip install Scrapy
 
安装成功示意图:


### 解决方案 当尝试在 Windows 上使用 `pip` 安装某些 Python 库(如 Scrapy 或 spaCy)时,可能会遇到类似于“Microsoft Visual C++ 14.0 or greater is required”的错误消息。这是因为这些库可能依赖于需要编译的 C 扩展模块,而编译过程则需要 Microsoft Visual C++ 编译器的支持。 #### 方法一:安装 Build Tools for Visual Studio 可以通过安装 **Build Tools for Visual Studio** 来提供所需的编译环境。具体操作如下: 访问微软官方网站上的下载页面[^4]: ```plaintext https://visualstudio.microsoft.com/downloads/ ``` 找到并下载 **Build Tools for Visual Studio** 的最新版本。此工具包含了构建本地扩展所需的所有必要组件。完成安装后重新运行 `pip install spacy` 命令即可解决问题。 #### 方法二:使用预编译的 wheel 文件 如果不想配置完整的开发环境,则可以考虑直接获取已经由社区维护者预先编译好的 `.whl` 文件来替代源码安装的方式。以下是实现步骤: 前往第三方资源站点 (例如 http://www.lfd.uci.edu/~gohlke/pythonlibs/) 查找目标库对应的轮子文件。对于本案例中的 SpaCy 而言,需依据当前使用的 Python 版本来挑选合适的选项。假设您的系统架构为 Win64 并且正在运行的是 Python 3.7.x ,那么应该寻找形似下面这种命名模式的文件: ```plaintext spacy‑3.5.0‑cp37‑cp37m‑win_amd64.whl ``` 下载完成后切换至该路径下执行以下指令完成手动指定安装流程: ```bash pip install spacy‑3.5.0‑cp37‑cp37m‑win_amd64.whl ``` 注意替换上述命令里的实际文件名以匹配所选下的确切名称。 另外需要注意的是部分复杂项目还可能存在额外依赖关系,在单独处理完主体之后仍有可能继续遭遇相似类型的缺失通知;此时只需按照相同逻辑逐一排查解决便可最终达成全部需求满足状态。 --- ### 提供代码示例 这里给出一段简单的验证脚本用于确认spaCy是否成功加载以及其基本功能测试情况: ```python import spacy def test_spacy(): nlp = spacy.load("en_core_web_sm") # 加载英文模型 doc = nlp(u"This is a sentence.") # 创建文档对象 print([(w.text, w.pos_) for w in doc]) # 输出单词及其词性标注 if __name__ == "__main__": try: test_spacy() print("SpaCy installed and working correctly.") except Exception as e: print(f"Error during testing: {e}") ``` 以上程序片段会尝试调用英语核心网络小型版(`en_core_web_sm`)并对给定字符串进行基础分析展示结果列表形式呈现各组成单元连同它们所属语法类别标签一起打印出来便于观察效果如何同时也能作为初步检验手段判断整个设置环节是否存在潜在隐患问题所在之处加以改进优化直至达到预期标准为止。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值