在第一种情况下,我没有进行检查,但是我想
pip直接下载了与给定URL相对应的资源:http
:
//sourceforge.net/projects/numpy/file/NumPy/。服务器返回一个HTML文档,而
pip需要一个存档。这样就行不通了。
然后基本上有两种安装Python软件包的方法:
- 从您尝试的来源
- 来自预编译的软件包
在第一种情况下,您使用命令进行了尝试
pip installnumpy,但是由于此软件包包含本机代码,因此需要正确安装开发工具(我发现在Windows上经常很难做到这一点,但是我做到了,显然可行)。您遇到的错误
error:Unable to find vcvarsall.bat意味着您没有安装工具或正确设置了环境。
对于第二种情况,您具有不同类型的预编译软件包:
- 车轮,其安装使用
pip
以及 - 安装程序,在Windows上用作标准安装程序
对于这两者,您都需要检查二进制文件是否已针对您的Python体系结构(32位或64位)和版本严格编译。
一个简单的解决方案您可以在以下位置找到几个轮子
numpy:http
:
//www.lfd.uci.edu/~gohlke/pythonlibs/#numpy。为了获得正确的体系结构,请在名称中
win32输入32位和
amd6464位。要获得正确的Python版本,请检查
cpXX:第一个X是主要版本,第二个X是次要版本,因此例如
cp27表示CPython
2.7。
例:
pip install numpy‑1.9.2rc1+mkl‑cp27‑none‑win32.whl硬解决方案:安装和使用开发工具
免责声明
:以下所有解释可能不太清楚。它们是在不同时刻进行的几次调查得出的结果,但是在我的配置中,它们导致了可行的解决方案。有些链接可能是无用的或多余的,但这就是我所指出的。所有这些都需要一些清洁,并且可能还需要概括。
首先,您需要了解
disutils-这是一个预先安装的软件包,它以比
pip(而后者使用的)更低的级别处理软件包的工作流-
会尝试使用严格匹配用于构建该软件包的编译器的编译器。您安装的Python机器。
Python的正式发行版使用Microsoft Visual C ++ for Microsoft
Windows软件包。因此,在这种情况下,您将需要安装此编译器。
Python使用此命令
python -c "import sys;print(sys.version)"(或调用交互式外壳程序)打印的字符串将如下所示:
3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:45:13) [MSC v.1600 64 bit(AMD64)]
方括号之间的最后一部分是编译器的标识部分。不幸的是,这不是很简单,您在那里有对应列表:
- Windows-我的计算机上的Python是用哪个版本的Visual Studio编译的?- 堆栈溢出
- visual studio-在编译期间检测编译器版本-堆栈溢出3
- 预定义的编译器宏/ Wiki /编译器
- WinCvt-Windows Converter工具包
在上面的示例中,这表示 Microsoft Visual C ++ 2010 64位 。
如何安装Visual C ++您再也找不到适用于现代版本的Visual C ++独立软件包。因此,您将需要安装Windows SDK本身。
以下是一些参考链接:
- 从官方Microsoft下载中心下载适用于Windows 7和.NET framework 3.5 SP1的Microsoft Windows SDK:适用于Visual C ++ 15.00(Visual Studio 2008)。对应于WinSDK 7。
- 从官方Microsoft下载中心下载适用于Windows 7和.NET framework 4的Microsoft Windows SDK:适用于Visual C ++ 16.00(Visual Studio 2010)。对应于WinSDK 7.1。
- 安装-在哪里可以下载Visual C ++ Express的完整安装程序?-超级用户
- Visual Studio&co。资料下载
故障排除
您在安装SDK时可能会出错:
DDSet_Error: Patch Hooks: Missing required property'ProductFamily': Setup cannot continue. DDSet_Warning: Setup failed whilecalling 'getDLLName'. System error: Cannot create a file when that filealready exists.
已经在几个问题中报告了它们:
- Windows 7 SDK安装失败
- 在Win 7 32位上将Windows 7 SDK 7.1与VS2008,VS2010 Premium安装在一起时出错
作为解决方案,您可以检查以下链接:Windows
SDK无法安装,返回码为5100
问题是删除Visual C ++可再发行组件的所有冲突版本(理解为:SDK安装程序尝试自行安装的版本)。
使用开发工具通常,您应该运行
vsvarsall.bat(位于
VCVisual Studio安装路径的文件夹内-示例:)
C:Program Files(x86)Microsoft Visual Studio10.0VCvcvarsall.bat来设置适当的环境变量,以便
distutils在尝试编译程序包时执行不会失败。
该批处理脚本接受一个参数,该参数应设置所需的体系结构。但是,我看到,使用SDK的免费版本时,尝试其中几个参数时缺少一些其他脚本。
只是说,如果您要为32位体系结构进行编译,则只需调用即可
vsvarsall.bat。如果您需要64位编译,则可以直接调用
SetEnv.cmd,位于SDK安装路径下的某个位置,例如:
"C:ProgramFilesMicrosoft SDKsWindowsv7.1BinSetEnv.cmd" /x64。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)