GVKun编程网logo

在32位Windows 7计算机上的Python 3.5中安装scipy(系统为32位如何安装python)

26

本文将带您了解关于在32位Windows7计算机上的Python3.5中安装scipy的新内容,同时我们还将为您解释系统为32位如何安装python的相关知识,另外,我们还将为您提供关于32位Wind

本文将带您了解关于在32位Windows 7计算机上的Python 3.5中安装scipy的新内容,同时我们还将为您解释系统为32位如何安装python的相关知识,另外,我们还将为您提供关于32位Windows 7环境安装Pydasm和Pydbg、64位python可以创建32位Windows可执行文件吗、64位Windows上的NumPy for Python 2.7、64位Windows上的Python 32位内存限制的实用信息。

本文目录一览:

在32位Windows 7计算机上的Python 3.5中安装scipy(系统为32位如何安装python)

在32位Windows 7计算机上的Python 3.5中安装scipy(系统为32位如何安装python)

我一直在尝试使用Windows 7计算机上的预构建二进制文件将Scipy安装到我的Windows 7机器上的Python
3.5(32位)安装程序中:http :
//www.lfd.uci.edu/~gohlke/pythonlibs

我已经按顺序安装了以下库

numpy‑1.10.1+mkl‑cp35‑none‑win32.whlscipy‑0.16.1‑cp35‑none‑win32.whl

然后,当尝试使用已安装的软件包时,出现以下错误提示

from scipy import sparse< ... Complete error trace ommitted ... >packages\scipy\sparse\csr.py", line 13, in <module>    from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \ImportError: DLL load failed: The specified module could not be found.

但是,如果我对Python 3.4遵循相同的过程,则将安装程序替换为:

numpy‑1.10.1+mkl‑cp35‑none‑win32.whlscipy‑0.16.1‑cp35‑none‑win32.whl

一切似乎都正常。我是否在安装Python 3.5时缺少其他依赖项或安装包?

答案1

小编典典

确保您从提供的链接中关注此行:

许多二进制文件依赖于NumPy-1.9 + MKL和Microsoft Visual C 2008(对于CPython
2.6和2.7为x64,x86和SP1),Visual C
2010(对于CPython 3.3和3.4为x64,x86)或Visual C ++
2015(适用于CPython 3.5的x64和x86)可再发行组件包。

下载相应的Microsoft Visual C ++可再发行组件程序包,根据您的描述,该程序包应为该程序包。

我遇到了类似的问题,无法记住确切的问题,因此我为我的系统下载了一个问题,效果很好。否则让我知道。

32位Windows 7环境安装Pydasm和Pydbg

32位Windows 7环境安装Pydasm和Pydbg

Pydbg库依赖Pydasm库,所有首先要安装Pydasm库。实际上Pydasm库是借助libdasm 1.5库开发的,在Google Code平台上可以下载 libdasm-1.5-tar.gz , 解压后会发现自带了Pydasm库,Pydasm库需要编译安装后才能使用。

注意,libdasm既不要使用早先的版本(早先有人使用paimei项目用了1.2版本,移植到win7就不正常),也不要使用最新版本(没测试过,不保证可用),只用1.5版本。

libdasm-1.5-tar.gz(或Pydasm库下载链接 : https://code.google.com/p/libdasm/downloads/list

Pydasm库的完整无错编译安装步骤:

1、为编译做准备A:系统安装好VS2008或更高版本,比如VS2010、VS2012、VS2013;

2、为编译做准备B:修改python路径下的Lib/distutils/msvc9compiler.py的toolskey(243行),默认设置如下

    toolskey = "VS%0.f0COMNTOOLS" % version



其实就是设置VSXXCOMNTOOLS的问题。 distutils库默认是 VS90COMNTOOLS,我安装的是VS2012,所以存在名为“VS110COMNTOOLS”的环境变量,看一下:

C:\>echo %VS110COMNTOOLS%
D:\Program Files\Microsoft Visual Studio 11.0\Common7\Tools\



所以我暴力设置toolskey为:

    #toolskey = "VS%0.f0COMNTOOLS" % version
    toolskey = "VS110COMNTOOLS"



3、编译安装:解压 libdasm-1.5-tar.gz, 进入pydasm目录,运行:

setup.py install

至此,Pydasm安装完成!


Pydbg库的完整无错编译安装步骤:

1、下载:在Github获取Pydbg库:https://github.com/OpenRCE/pydbg

2、安装:解压后复制到python目录下的Lib\site-packages目录中。

3、删除Lib\site-packages\Pydbg目录下的pydasm.pyd(因为在上面已经重新安装了)!

Pydbg至此安装完成!

注意,Pydbg还有其他依赖项:utils、pida和pgraph库,这3个库请到paimei项目中直接扣取,并放到Lib\site-packages目录下:https://github.com/OpenRCE/paimei





64位python可以创建32位Windows可执行文件吗

64位python可以创建32位Windows可执行文件吗

我有一台新的64位Windows计算机,并且将python用于各种用途,因此希望安装64位python。

但是,我的一个python项目创建了一个Windows可执行文件,然后在32位Windows计算机(使用py2exe创建)上运行。

如何使用64位python和py2exe创建32位可执行文件?

如果我做不到,我想我的选择是:

  1. 在包括我的所有机器上使用32位python;要么

  2. 在32位计算机上安装python,不要使用py2exe。

任何建议,不胜感激。

64位Windows上的NumPy for Python 2.7

64位Windows上的NumPy for Python 2.7

参见英文答案 > Installing Numpy on 64bit Windows 7 with Python 2.7.3 [closed]                                    6个
我一直试图在Windows 64位上获得NumPy for Python 2.7,但是大家提到的页面 http://www.lfd.uci.edu/~gohlke/pythonlibs/并没有在我的任何设备上打开.

还有其他地方我可以找到吗?

解决方法

我建议使用 WinPython,一个适用于Windows的Python 2.7发行版,包含32位和64位版本.

07.01由WinPython创建者解释为什么通常很难找到64位Windows NumPy:

According to experienced developers,there is no decent open-source (free) Fortran compiler for the Windows 64bit platform. As a consequence,it’s impossible to build NumPy or SciPy on this platform using only free and open-source tools. That’s why there is no official Windows 64bit binaries for these two libraries. The only ready-to-use installers available out there were prepared by Christoph Gohlke (using Intel Fortran compiler,a.k.a. ‘ifort’) and these are clearly unofficial binaries. Furthermore,Christoph has built two different installers for NumPy: one unoptimized and one optimized with the Intel Math Kernel Library (MKL),hence providing better performance. And Gohlke’s SciPy 64bit binary package (the only one available freely online) require NumPy MKL. The problem is that,according to Christoph Gohlke,the MKL license does not allow me (or anyone else) to redistribute these binaries,unless I have purchased such a license. It is still unclear to me if the end user would also require this license too. Hopefully no. Let’s assume that. Besides,after reading carefully the Intel MKL License terms,I’m quite sure that I can redistribute the MKL-based NumPy built because it’s just runtime redistribution. So I think I will purchase an Intel Fortran Compiler license (including MKL) to be able to rebuild NumPy and SciPy in the near future but in the meantime I will just redistribute the packages built by Christoph Gohlke.

64位Windows上的Python 32位内存限制

64位Windows上的Python 32位内存限制

我遇到了似乎无法理解的内存问题。

我在具有8GB内存的Windows 7 64位计算机上,并运行32位python程序。

程序读取5118个压缩的numpy文件(npz)。Windows报告文件占用磁盘1.98 GB

每个npz文件包含两段数据:“ arr_0”的类型为np.float32,而“ arr_1”的类型为np.uint8

python脚本读取每个文件,将其数据附加到两个列表中,然后关闭该文件。

在文件4284/5118周围,程序引发MemoryException

但是,任务管理器说发生错误时python.exe * 32的内存使用量为1,854,848K〜= 1.8GB。远远小于我的8 GB限制或32位程序的4
GB限制。

在程序中,我捕获到内存错误,并报告:每个列表的长度为4285。第一个列表包含总共1,928,588,480个float32的〜= 229.9
MB数据。第二个列表包含12,342,966,272 uint8的〜= 1,471.3MB数据。

因此,一切似乎都在检查中。除了出现内存错误的那一部分。我绝对有更多的内存,它崩溃的文件约为800KB,因此在读取大文件时不会失败。

此外,文件没有损坏。如果我没有用完所有的内存,我会读得很好。

使事情变得更加混乱的是,所有这些似乎都可以在我的Linux机器上正常工作(尽管它确实具有16GB的内存,而我的Windows机器上却只有8GB),但是似乎并不是该机器的RAM导致此问题。

当我期望Python应该能够分配另外2GB的数据时,为什么会引发内存错误?

答案1

小编典典

我不知道您为什么认为您的进程应该能够访问4GB。根据MSDN上Windows发行版的内存限制,在64位Windows 7上,默认的32位进程获得2GB。*这正是它耗尽的地方。

那么,有办法解决吗?

好吧,您可以使用该IMAGE_FILE_LARGE_ADDRESS_AWARE标志进行自定义的32位Python构建,然后重新构建numpy以及所有其他扩展模块。我不能保证所有相关的代码都可以通过大地址感知标志真正安全地运行。这是一个好机会,但是除非有人已经做过并对其进行了测试,否则“好机会”是任何人都可能知道的最好的机会。

或者,更明显的是,仅使用64位Python。


物理RAM的数量是完全无关的。您似乎认为您拥有8GB RAM的“ 8GB限制”,但这不是它的工作原理。您的系统将占用所有RAM 以及所需的任何交换空间
,并将其分配给应用程序;一个应用程序即使在8GB的计算机上也可能能够获得20GB的虚拟内存而不会出现内存错误。同时,一个32位应用程序无法访问超过4GB的空间,并且该操作系统将占用部分地址空间(默认情况下为Windows的一半),因此即使在8GB的计算机上,您也只能获得2GB的空间。那没什么其他的。(并不是说在现代操作系统上可能永远“不运行其他任何东西”,但是您知道我的意思。)


那么,为什么这在您的Linux机器上有效呢?

因为您的Linux机器被配置为可以为32位进程提供3.5GB的虚拟地址空间,或3.99GB或………好吧,我无法告诉您确切的数字,但是多年来我见过的每个发行版都已配置至少需要3.25GB。


*还请注意,您甚至没有真正获得全部2GB的数据;您的程序。操作系统及其驱动程序可让您的代码访问的大多数内容都位于另一半,而您加载的每个DLL,所需的任何空间以及各种其他内容则位于另一半。总计不算太多,但不为零。

我们今天的关于在32位Windows 7计算机上的Python 3.5中安装scipy系统为32位如何安装python的分享已经告一段落,感谢您的关注,如果您想了解更多关于32位Windows 7环境安装Pydasm和Pydbg、64位python可以创建32位Windows可执行文件吗、64位Windows上的NumPy for Python 2.7、64位Windows上的Python 32位内存限制的相关信息,请在本站查询。

本文标签: