当前位置: 首页 > 面试题库 >

Python PIP在Windows 7上用于64位安装的MS Visual Studio 2010 Express的路径存在问题

戚宏扬
2023-03-14
问题内容

我正在使用全新安装的Python
3.3(64位版本)创建virtualenv。(注意:我在计算机上安装了多个python,包括WinPython,但想要为正在处理的多个项目设置干净的小型virtualenvs。WinPython版本可以正常使用。)当我使用pip尝试安装软件包时,我收到一条错误消息(如果需要,可以包含点子日志)。最终,错误消息的最后几行是:

File "c:\python33-b\Lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall raise ValueError(str(list(result.keys())))

ValueError: ['path']

我调查了msvc9compiler.py中函数query_vcvarsall的结果。我发现此功能正在我的计算机上从MS Visual Studio 10
Express寻找vcvarsall的路径。它正在寻找4个组件:INCLUDE =,PATH =,LIB =和LIBPATH =。这些特定于MS
VS2010。我的安装向此函数发送了参数“ amd64”。除了PATH
=语句外,它什么也没找到,但确实找到了vcvarsall.bat文件。当我欺骗该函数使用“
x86”参数时,它找到了所有4条语句,并且看起来好像可以正常运行。

我花了一些时间在网络上进行研究。我发现MS VS Express
2010默认安装为32位。必须将其设置为以64位运行(这意味着它将设置上面所需的语句。)显然存在一个错误,并且此版本未安装64位工具。因此,我安装了MS
SDK,以便安装64位工具。然后,我发现对此有一个修复程序并进行了安装(在下面的链接中列出)。

概述了为64位VS创建路径的几种方法。一种是vcvarsall amd64在MS
VS的命令行上运行。这导致出现一条消息,提示我的计算机上未安装这些工具。这些工具将驻留在C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64目录中。它显然正在寻找的文件是vcvars64.bat(或类似文件)。我有目录,但没有批处理文件。(建议使用x86_amd64方法,但存在所有相同的问题。)

第二个建议是setenv /x64从SDK命令行运行。我运行了它,它似乎正常运行。但是,当我尝试通过pip安装软件包时,却收到了相同的错误消息。

我的问题最终是如何使点子平稳运行?只需提及,是的,在每次安装后我再次测试pip之前,我都进行了重新引导,并尝试修复此问题。

以下是一些帮助我达到这一目标的网站:

1)从Visual Studio
2010启动64位命令提示符

2)设置MS VS 2010命令行版本的路径和环境变量:http :
//msdn.microsoft.com/zh-
cn/library/f2ccy3wt.aspx

3)VS2010
Express和缺少的x64编译器:https
://social.msdn.microsoft.com/Forums/en-
US/e0ef4613-d90f-4eec-90db-41339ed31367/vs2010-express-and-
missing-x64-compiler?forum
= Vsexpress安装

4)修复:如果已安装Windows SDK v7.1,则在将Visual Studio 2010 Professional或Visual Studio
2010 Express升级到Visual Studio 2010 SP1时,将删除Visual C
++编译器:http :
//support.microsoft.com/kb/2519277

5)msvc9compiler.py:尝试使用VC
Express进行编译时出现ValueError:http://bugs.python.org/issue7511


问题答案:

最终,我能够运行pip。简而言之(这是上面的信息中的冗余内容),这是我为python 3.3安装64位软件包的操作:

1)已安装Microsoft Visual C ++ 2010
Express,请在此处下载
( http://www.visualstudio.com/downloads/download-visual-studio-
vs)

2)已安装Microsoft SDK 7.1(Windows 7)(http://www.microsoft.com/zh-
cn/download/details.aspx?id=8279)

3)在SDK中构建/启用了64位工具。 转到“开始”菜单,然后在“ Microsoft Windows SDK v7.1”文件夹下,选择“
Windows SDK 7.1命令提示符”。一个外壳会出现。键入以下命令 setenv /x64

4)我安装了一个修复程序(不知道最终是否需要它。)(http://support.microsoft.com/kb/2519277)

5)在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin \
amd64下创建一个新的vcvars64.bat文件。在该新的批处理文件中,我仅包含该行CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64。我假设这样做是强迫distutils使用SDK中的C
编译器。在此之后正确安装了点子。据我了解,C 编译器必须与用于编译python
3.3的相同。根据我的研究,似乎所安装的SDK是相同的编译器,但并不要求 原始
vcvars64.bat文件存在。该信息来自:http :
//www.w7forums.com/threads/vcvarsall-bat-no-64bit-support-vcvars64-bat-
missing.6606/。如果我在使用此解决方案的过程中遇到问题,请纠正我。谢谢。



 类似资料:
  • 我下载了Windows 64位版本的Eclipse。 我转到“帮助|安装新软件…”并输入以下URL以获取WindowBuilder。 开普勒 4.3(4.4 还没有链接)http://download.eclipse.org/windowbuilder/WB/release/R201309271200/4.3/ 然后我看到了以下显示: 错误的文本是: 我不允许继续下去。 按“取消”,然后按“新建项

  • 标题说明了一切。我确实看到过类似的问题,有人建议关于http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame,但是所有的pygame可下载文件都是.whl格式的,我不知道如何在Windows7上运行。我尝试了“CD[directory]>pip安装[filename]”,但没有成功。

  • 问题内容: 如何在系统上安装SciPy? 对于NumPy部分(SciPy依赖),实际上有一个64位Windows安装程序:numpy-1.3.0.win- amd64-py2.6.msi (直接下载URL,2310144字节)。 运行SciPy superpack安装程序会在对话框中显示以下消息: 无法安装。需要python版本2.6,在注册表中找不到该版本。 我已经安装了Python 2.6.2

  • 本文向大家介绍Windows7 64位 旗舰版下VirtualBox 4.3.12安装教程,包括了Windows7 64位 旗舰版下VirtualBox 4.3.12安装教程的使用技巧和注意事项,需要的朋友参考一下 写在前面 2014.6 发布《快速入门》 2015.6 更新扩展阅读 2016.1 更新扩展阅读 1、VirtualBox虚拟机——这是什么? VirtualBox 是一款开源虚拟机软

  • 我试图让SASS安装在我的Windows机器在工作,但是安装红宝石后,我似乎不能安装它。. Ruby版本-2.1。五, 在命令提示符下运行时出现的错误: 错误:找不到有效的gem“SASS”。=0.,原因如下: 无法从下载数据https://rubygems.org/-SSL\u connect返回=1 errno=0 state=SSLv3 读取服务器证书B:证书验证失败https://api.