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

  • 相关阅读:
    【CSS】盒子模型的计算
    【CSS】定义元素的位置
    【Jenkins】安装插件
    安装【Jenkins】
    Python【unittest】模块
    Python【pyyaml】模块
    CentOS下安装gcc和gdb
    汇编学习笔记(15)综合研究
    汇编学习笔记(14)BIOS对键盘输入的处理
    汇编学习笔记(13)直接定址表
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/10672305.html
Copyright © 2011-2022 走看看