Python3.4 用 pip 安装lxml时出现 “Unable to find vcvarsall.bat ”?
我在网上搜了好多,说需要安装 vs2008,但是我安装了vs2008专业版,依然还是这个问题“Unable to find vcvarsall.bat ”
再然后,我又照网上说的下载安装MinGW了,并且修改了环境变量等一系列东西,最后错误又变成了“TypeError: unorderable types: NoneType() >= str()”
请问这个到底该怎么解决?
回复内容:
刚从这个大坑里爬出来:
1. 安装wheel,命令行运行:
pip install wheel
建议直接装编译好的安装包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml !!!!python35已不适用以下方案
----------原答案-----------
C:/Python31/Lib/distutils目录下,发现“unable to find vcvarsall.bat”这句话在msvc9compiler.py中
问题出在构建python的版本和你计算机上安装的版本可能不一样。
具体修改代码如下:
msvc9compiler.py中
修改MSVCCompiler函数:
vc_env = query_vcvarsall(VERSION, plat_spec)
为:
如果安装的是VS2014,则VERSION为13.0;
如果安装的是VS2013,则VERSION为12.0;
如果安装的是VS2012,则VERSION为11.0;
如果安装的是VS2010,则VERSION为10.0;
如果安装的是VS2008,则VERSION为9.0。
像我的安装的是VS2013,则
vc_env = query_vcvarsall(12.0, plat_spec)
在我的电脑上,我查过它查找的VERSION为10.0,也就是VS2010,所以要人工干预下,而且修改此处对整个程序没有影响,除非你换了VS版本
至于题主为啥2008版的没用,因为Python3.4默认2010版,你也可以直接下2010的,这就不用改了 泻药,以下回答不保证是正确的。
1 直接下载预编译好的二进制安装包。
2 那个玩意是vc里的,我记得这里有个vc版本问题,这个文件名好像不一样,你进去安装包里,看看实际用的是哪个脚本,找不到可能要添加环境变量。提示:这个是可以配置成使用mingw的,也是安装脚本setup.py里配置的,如果你最后没搞定,可以尝试改成使用mingw。
3 换linux 使用系统带的包管理器装,通常问题不大。 直接按 @cloak shining给的链接下二进制包就行。
python在windows下通过pip安装带有c扩展的包时,如果是python 2.7,需要vs2008,如果是python 3.x,需要vs2010,版本错了都不行,更别提mingw。因为c运行时不兼容的原因。
还有两个一劳永逸的解决方案:
1. 换linux
2. 用Anaconda Scientific Python Distribution
产生原因:
python3.4用的是msvs2010编译的,所以python3.4默认只能认出msvs2010。
python2.7用的是msvs2008编译的,所以python2.7默认只能认出msvs2008.
方法一:安装mingw(不推荐)
下载mingw环境,添加环境变量
或者使用
python setup.py build –compiler=mingw32
感谢@许仙的回答,我这里补充一下,安装whl文件需要使用cmd进入python/Scripts/。然后运行 pip3.4 install xxxxx.whl(针对3.4版本)
今天花了一天的时间解决这个问题!基本把网上说的方法都试了,什么注册表,改keytool,装了vs2010等等,最后是看python源代码解决的。我的python版本是Python 3.5
该问题的产生是在windows环境中,python 的 Setup需要调用一个vcvarsall.bat的文件,该文件需要安装c++编程环境才会有。网上的方法有两个:一、安装MinGW;二、安装Visual Studio 。我用的是第二种方法。
步骤一:
在你的python程序所在文件夹中找到:“_msvccompiler.py”文件,例如我的电脑中的路劲是:
D:\Program Files\Anaconda3\Lib\distutils\_msvccompiler.py
找到后用编辑器打开,找到“_find_vcvarsall”函数声明中类似“if version >= 14 and version > best_version:”注意这里的“14”,如果这里是14说明VS版本要在14以上才可以。所以根据这句,我们要安装最新的Visual Studio2015。(相对的如果是9就是9以上即可这时VS10什么都是可以的)
步骤二:
现在Visual Studio 2015有社区版,可以免费使用,这个版本就够了。为了方便大家,我放在云盘。你也可以去官网下载。
http://pan.baidu.com/s/1eSueWLG
下载完毕后进行安装:
注意一定要勾选c++环境,和XXXfor python,这两个。web development应该是没有影响的,但是由于这是软件默认勾选的,所以我也装了。
这一步,出现了一直停留在“Configuring Your System”的问题,然后在网上找到了如下解决方案:(Visual Studio Express 2013 for windows with update 2 installation Taking Too much time in "Configuring Your System")
意思就是把VS的进程都关了。我关掉VS2015后分分钟就好了


引自 https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/ 额, 如果有人还看到这里,那你试一下这样:
按照 深海鱼 的方法下载到whl文件,然后重命名为zip,解压后放到python安装目录下的lib中。

Arraysinpython,尤其是Vianumpy,ArecrucialInsCientificComputingfortheireftheireffertheireffertheirefferthe.1)Heasuedfornumerericalicerationalation,dataAnalysis和Machinelearning.2)Numpy'Simpy'Simpy'simplementIncressionSressirestrionsfasteroperoperoperationspasterationspasterationspasterationspasterationspasterationsthanpythonlists.3)inthanypythonlists.3)andAreseNableAblequick

你可以通过使用pyenv、venv和Anaconda来管理不同的Python版本。1)使用pyenv管理多个Python版本:安装pyenv,设置全局和本地版本。2)使用venv创建虚拟环境以隔离项目依赖。3)使用Anaconda管理数据科学项目中的Python版本。4)保留系统Python用于系统级任务。通过这些工具和策略,你可以有效地管理不同版本的Python,确保项目顺利运行。

numpyarrayshaveseveraladagesoverandastardandpythonarrays:1)基于基于duetoc的iMplation,2)2)他们的aremoremoremorymorymoremorymoremorymoremorymoremoremory,尤其是WithlargedAtasets和3)效率化,效率化,矢量化函数函数函数函数构成和稳定性构成和稳定性的操作,制造

数组的同质性对性能的影响是双重的:1)同质性允许编译器优化内存访问,提高性能;2)但限制了类型多样性,可能导致效率低下。总之,选择合适的数据结构至关重要。

到CraftCraftExecutablePythcripts,lollow TheSebestPractices:1)Addashebangline(#!/usr/usr/bin/envpython3)tomakethescriptexecutable.2)setpermissionswithchmodwithchmod xyour_script.3)

numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,内存效率段

numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。