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()这个函数写的不好。

  • 相关阅读:
    matlab关闭文件
    matlab字符串比较
    matlab画直线
    已解决:TeamViewer使用的设备数量上限
    ubuntu安装teamviewer,缺少依赖处理
    木心的话
    SQL 语句中 where 条件后 写上1=1 是什么意思
    NetCore获取当前请求URL的方法
    NetCore3.1 日志组件 Nlog的使用
    Mysql并发时经典常见的死锁原因及解决方法
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/10672305.html
Copyright © 2011-2022 走看看