windows 安装 python 踩坑记录
官方不建议使用 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 踩坑记录的更多相关文章
- CentOS7.4安装MySQL踩坑记录
		
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
 - ubuntu 下安装docker 踩坑记录
		
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
 - windows安装rabbitmq踩坑实录
		
最近学习springcloud消息总线需要用到rabbitmq,然后安装的时候踩了一些坑,记录如下: 首先安装rabbitmq之前需要先安装erlang,因为rabbitmq服务端使用erlang写的 ...
 - 【学习笔记】windows安装jhipster踏坑记录
		
序: 入职新公司第二天了,本来第一天是配置环境来着,配了一下午也没搞成那个jhipster的安装,每次以为应该正常的时候都是不对,yo是yeoman的指令,但是我是使用yarn管理的yeoman 纠结 ...
 - 虚拟机安装mysql踩坑记录
		
本章节主要讲解的是在虚拟机centOs7版本以上安装mysql5.6版本,亲测可以直接使用,有需要帮助的小伙伴可以加本人QQ2246451792@qq.com!!!! 卸载centOs7自带的mari ...
 - python踩坑记录篇,持续更新
		
问题1:python语法错误 错误日志如下: print(a[2]) ^IndentationError: unexpected indent [解决方案]:缩进代码错误导致,将print的缩进 ...
 - Android关于版本更新下载安装之踩坑记录(针对7.0以上)
		
最近刚刚把古老的项目targetSdk版本升级到26,升级之前是19(非常非常古老了).那么升级后一些问题开始出现. Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他 ...
 - python发布包到pypi的踩坑记录
		
前言 突然想玩玩python了^_^ 这篇博文记录了我打算发布包到pypi的踩坑经历.python更新太快了,甚至连这种发布上传机制都在不断的更新,这导致网上的一些关于python发布上传到pypi的 ...
 - 使用Windows下的git工具往github上传代码 踩坑记录
		
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
 
随机推荐
- Python使用otp实现二步验证
			
https://www.cnblogs.com/lori/p/11077161.html https://blog.coding.net/blog/two-factor-authentication ...
 - 使用Jmeter对观影券查询接口做性能测试
			
线程数:虚拟用户数.一个虚拟用户占用一个进程或线程.设置多少虚拟用户数在这里也就是设置多少个线程数. 准备时长: 设置的虚拟用户数需要多长时间全部启动.如果线程数为20 ,准备时长为10 ,那么需要1 ...
 - docker基础知识普及(一)
			
背景 这篇内容是之前给部门同事培训时写的文档,旨在传达一些docker相关概念,有个基本印象,当然,以下内容都来自网络,我只是个搬运工.具体操作在下篇文章中 一.什么是docker? 1. Docke ...
 - ArrayList && HashMap扩容策略
			
ArrayList扩容策略:默认10 扩容时是base + base/2, 即10 15 22 33 49...扩容时不安全:grow方法扩容时,赋值 elementData = Arrays.cop ...
 - vue 默认展开详情页
			
{ path: '/Tree', component: Tree, children: [ { path: '/', component: Come } ] }
 - LoaderDialog自定义加载框的实现
			
package com.loaderman.loadingdialogdemo; import android.app.Dialog; import android.content.Context; ...
 - Monkeyrunner 使用说明
			
monkeyrunner为android系统新公开的一个测试工具.有助于开发人员通过脚本部署较大规模的自动化测试. Monkeyrunner 本文档中包含 一个简单的monkeyrunne ...
 - js判断字符串是否为JSON格式
			
不能简单地使用来判断字符串是否是JSON格式: function isJSON(str) { if (typeof str == 'string') { try { JSON.parse(str); ...
 - docker commit命令
			
docker commit命令用于基于一个容器来创建一个新的docker镜像. docker commit制作的镜像,除了制定镜像的人知道执行过什么命令,怎么生成的镜像,别人根本无从得知.建议使用的是 ...
 - java数据结构之ArrayList
			
一.ArrayList源码注释 /** * ArrayList源码分析,jdk版本为1.8.0_121 */ public class ArrayList<E> extends Abstr ...