官方不建议使用 64 bit python,容易出各种问题

Unable to find vcvarsall.bat

凡是安装与操作系统底层相关的 python 扩展都会遇到这个问题,如 PIL,Pillow,gevent 等,当然你可以直接安装编译好的,此时可能无需解决这个问题,但是你只能使用阉割版的功能

这个问题的原因大致如下:有些 python 扩展需要编译,而编译需要 visual C++,而你的电脑没有安装

这个问题有几种解决方案...

参考下面链接

亲测方法

安装 visual studio 后,在环境变量里会自动生成对应版本的配置

如果装的是VS ,是看不到出现环境变量的

对于vcvarsall.bat的探测,VS2017以前的版本,可以通过VSXXXCOMNTOOLS环境变量来发现,例如:VS140COMNTOOLS对应 VS2015
但是VS2017之后就没这个环境变量了,因此更加通用可靠的探测方式,是从注册表中查找。
例如,VS2017的注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7;15.0)\VC\Auxiliary\Build
VS2017之前版本路径如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7;14.0)\VC
64bits版本,Microsoft之前再加个Wow6432Node。

然后执行如下命令

Visual Studio  (VS9):  SET VS90COMNTOOLS=%VS90COMNTOOLS%
Visual Studio (VS10): SET VS90COMNTOOLS=%VS100COMNTOOLS%
Visual Studio (VS11): SET VS90COMNTOOLS=%VS110COMNTOOLS%
Visual Studio (VS12): SET VS90COMNTOOLS=%VS120COMNTOOLS%
Visual Studio (VS14): SET VS90COMNTOOLS=%VS140COMNTOOLS%

注意这个命令不是永久生效,只是临时命令,每次打开命令行都要执行一次

另外,有个简单方法 

python2 提供了对应的 vc:https://www.microsoft.com/en-us/download/details.aspx?id=44266  Microsoft Visual C++ Compiler for Python 2.7

python3 没有提供

https://www.cnblogs.com/yyds/p/7065637.html  写的很透彻

https://blog.csdn.net/sunlilan/article/details/80040858  很有用的教程

https://my.oschina.net/soarwilldo/blog/496463

https://blog.csdn.net/u011275279/article/details/73238609

https://blog.csdn.net/m0_37638031/article/details/78763956  visual studio 2015安装教程

RuntimeError: Broken toolchain: cannot link a simple C program

https://www.jianshu.com/p/7dc989dc55f0

https://www.tuicool.com/articles/JzI3Uj

windows 安装 python 踩坑记录的更多相关文章

  1. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  2. ubuntu 下安装docker 踩坑记录

    ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...

  3. windows安装rabbitmq踩坑实录

    最近学习springcloud消息总线需要用到rabbitmq,然后安装的时候踩了一些坑,记录如下: 首先安装rabbitmq之前需要先安装erlang,因为rabbitmq服务端使用erlang写的 ...

  4. 【学习笔记】windows安装jhipster踏坑记录

    序: 入职新公司第二天了,本来第一天是配置环境来着,配了一下午也没搞成那个jhipster的安装,每次以为应该正常的时候都是不对,yo是yeoman的指令,但是我是使用yarn管理的yeoman 纠结 ...

  5. 虚拟机安装mysql踩坑记录

    本章节主要讲解的是在虚拟机centOs7版本以上安装mysql5.6版本,亲测可以直接使用,有需要帮助的小伙伴可以加本人QQ2246451792@qq.com!!!! 卸载centOs7自带的mari ...

  6. python踩坑记录篇,持续更新

    问题1:python语法错误 错误日志如下: print(a[2])    ^IndentationError: unexpected indent [解决方案]:缩进代码错误导致,将print的缩进 ...

  7. Android关于版本更新下载安装之踩坑记录(针对7.0以上)

    最近刚刚把古老的项目targetSdk版本升级到26,升级之前是19(非常非常古老了).那么升级后一些问题开始出现. Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他 ...

  8. python发布包到pypi的踩坑记录

    前言 突然想玩玩python了^_^ 这篇博文记录了我打算发布包到pypi的踩坑经历.python更新太快了,甚至连这种发布上传机制都在不断的更新,这导致网上的一些关于python发布上传到pypi的 ...

  9. 使用Windows下的git工具往github上传代码 踩坑记录

    使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...

随机推荐

  1. MessageListenerAdapter--消息监听适配器

    我们把之前的消息监听代码注释,可以不用直接加消息监听,而是采用MessageListenerAdapter的方式,我们来学习下如何使用默认的handleMessage,自定义方法名,自定义转换器. 适 ...

  2. JavaWeb-SpringSecurity图片验证ImageCode

    系列博文 项目已上传至guthub 传送门 JavaWeb-SpringSecurity初认识 传送门 JavaWeb-SpringSecurity在数据库中查询登陆用户 传送门 JavaWeb-Sp ...

  3. [CSP-S模拟测试]:二叉搜索树(DP+贪心)

    题目传送门(内部题99) 输入格式 第一行一个整数$n$,第二行$n$个整数$x_1\sim x_n$. 输出格式 一行一个整数表示答案. 样例 样例输入: 58 2 1 4 3 样例输出: 数据范围 ...

  4. 【软件工程】Alpha冲刺(2/6)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 了解了如何根据系统获取的实际情况进行后端任务的调整 网易云音乐推荐算法的分析 ...

  5. Python编程中NotImplementedError的使用

    Python编程中raise可以实现报出错误的功能,而报错的条件可以由程序员自己去定制.在面向对象编程中,可以先预留一个方法接口不实现,在其子类中实现.如果要求其子类一定要实现,不实现的时候会导致问题 ...

  6. 如何利用css进行网页布局

    一.单列布局(类似于搜狐网站) 如: 代码为: 二.两列布局 1.固定宽度 代码为: 2.自适应 代码为: 三.三列布局 代码为: 四.混合布局 就是在前面的基础上,在进行划分块 如: 代码为:

  7. html添加注释怎么弄?

    HTML 注释: <!--这是一段注释.注释不会在浏览器中显示.--> 这是一段普通的段落. 快捷键: 我用的是 Notpad++ 添加行注释 Ctrl+K 取消行注释 Ctrl+Shif ...

  8. Linux 命令速记本

    # 比较1.txt和2.txt的差异 comm [---] .txt .txt # 求1.txt和2.txt的MD5用于区分两个文件是否相同 md5sum .txt .txt #tr 用于转换或删除文 ...

  9. Dom4j工具j解析XML原理和示例代码

    import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; i ...

  10. nodejs相关

    安装: 1:下载 Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/. 32 位安装包下载地址 : https://nodejs.org/dist/ ...