在Windows上安装NumPy

在Windows上安装NumPy,第1张

在Windows上安装NumPy 一些解释

在第一种情况下,我没有进行检查,但是我想

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位和
amd64
64位。要获得正确的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软件包。因此,在这种情况下,您将需要安装此编译器。

如何找到Visual C ++的正确版本

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
(位于
VC
Visual 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



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5630320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存