zoukankan      html  css  js  c++  java
  • python安装扩展”unable to find vcvarsall.bat“的解决办法

    产生原因:

    python3.4用的是msvs2010编译的,所以python3.4默认只能认出msvs2010以上版本

    python2.7用的是msvs2008编译的,所以python2.7默认只能认出msvs2008以下版本

     

    方法一:安装mingw(不推荐)  注:本人尝试安装成功,效果不佳,最后还是下载了VS2008进行

    下载mingw环境,添加环境变量

    或者使用

    python setup.py build –compiler=mingw32 

    方法二:安装对应版本的msvs

    python2安装msvs2008,python3安装msvs2010
     

    方法三:设置变量

    python2 在安装扩展前执行

    SET VS90COMNTOOLS =  [vcvarsall.bat所在的目录]

    或者
    SET VS90COMNTOOLS=%VS120COMNTOOLS%
    注:VS120COMNTOOLS改成你安装的msvs版本对应的

    python3在安装扩展前执行

    SET VS100COMNTOOLS =  [vcvarsall.bat所在的目录] 

    或者

    SET VS100COMNTOOLS=%VS120COMNTOOLS% 

    注:VS120COMNTOOLS改成你安装的msvs版本对应的

     

    方法四:修改安装脚本

    打开

     [python3安装目录]Lib/distutils/msvc9compiler.py

    修改MSVCCompiler函数:

    vc_env = query_vcvarsall(VERSION, plat_spec)

    为:

    vc_env = query_vcvarsall(12.0, plat_spec) 

    注:12.0改成你安装的msvs对应的版本号

    补充:

    msvs2005版本号为8.0对应环境变量VS80COMNTOOLS

    msvs2008版本号为9.0对应环境变量VS90COMNTOOLS

    msvs2010版本号为10.0对应环境变量VS100COMNTOOLS

    msvs2012版本号为11.0对应环境变量VS110COMNTOOLS

    msvs2013版本号为12.0对应环境变量VS120COMNTOOLS

  • 相关阅读:
    Visual Studio 2019 使用.Net Core 3.0 一
    Asp.Net真分页技术
    Vue-员工管理系统
    Activex在没有电子秤api的情况下获取串口数据
    C#调用Activex中串口电子秤的数据,并将电子秤的数据显示到前端页面
    C# Datetime.Ticks
    Asp.Net进阶/管家模式+发布订阅模式:练习
    委托解耦
    Asp.Net进阶/值类型与引用类型:复习
    C# 简单日志帮助类LogHelper
  • 原文地址:https://www.cnblogs.com/monsteryang/p/6498690.html
Copyright © 2011-2022 走看看