zoukankan      html  css  js  c++  java
  • Unable to find vcvarsall.bat

    使用pip命令安装包时,有时需要从头编译代码,这就需要用到VC++编译器。
    windows下pip安装各种包时,经常会遇到此错误。本文介绍解决方案。

    第一步:安装visual studio

    第二步:安装everything

    打开everything,搜索vcvarsall.bat,此文件即为python找不到的那个文件。

    第三步:找到需要更改的python文件,并修改之

    在我电脑上为:C:anacondaLibdistutils\_msvccompiler.py。需要注意,不同python版本、不同windows系统可能对应不同的文件,但是一定是在distutils下面。直接打开everything搜索一下distutils,在某几个文件里面添加一个print就知道是哪个文件在发挥作用了。
    找到此文件,改变_find_vcvarsall()函数,让它直接返回vcvarsall.bat的绝对路径。

    def _find_vcvarsall(plat_spec):
        print(__file__)
        print("baga yalu")
        return r'C:Program Files (x86)Microsoft Visual Studio2017CommunityVCAuxiliaryBuildvcvarsall.bat',None
    

    这个函数写的十分垃圾,它会自动读取注册表中信息寻找vcvarsall,然而大多数情况下它都找不到,于是就报错了,这里我们直接写死成vcvarsall的固定路径就可以了。


    这个问题其实跟vc版本关系不大,因为vc改变版本并不会改变太多东西,跟visual studio版本也没太大关系,随意一个vc、vs都能够解决问题。
    这个问题关键在于_find_vcvarsall()这个函数写的不好。

  • 相关阅读:
    spring boot中 使用http请求
    spring boot 多层级mapper
    spring boot 使用拦截器,注解 实现 权限过滤
    spring boot 集成mybatis报错
    spring boot 使用拦截器 实现 用户登录拦截
    mac eclipse 删除不用的workspace
    maven+eclipse+mac+tomcat 多模块发布
    启动spring boot 异常
    安装 redis [standlone模式]
    quartz项目中的运用
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/10672305.html
Copyright © 2011-2022 走看看