【发布时间】:2013-04-16 19:17:44
【问题描述】:
由于管理员权限,我无法在我的机器上安装 Python,但我确实成功下载/打开了 Portable Python。我在 Windows 7 64 位机器上。我如何才能使用以前的外部库,例如 Numpy 或 Gmpy?
【问题讨论】:
标签: python numpy installation portability
由于管理员权限,我无法在我的机器上安装 Python,但我确实成功下载/打开了 Portable Python。我在 Windows 7 64 位机器上。我如何才能使用以前的外部库,例如 Numpy 或 Gmpy?
【问题讨论】:
标签: python numpy installation portability
easy_install 正在尝试从源代码安装。 gmpy 和 gmpy2 是 C 扩展,需要存在兼容的 C 编译器和其他库(GMP;以及 gmpy2 的 MPFR 和 MPC)。在 Windows 上从源代码安装通常很困难。安装程序包括扩展的预编译版本。
一种选择是从安装程序中提取已编译的二进制文件。 7-Zip 能够打开安装程序文件,您可以提取二进制文件。在标准的 Python 安装中,只需将提取的二进制文件放在 site-packages 目录中。如有必要,您可以在另一个系统上进行提取并复制文件。
您还可以使用 zipfile 模块来提取已编译的扩展名。这是一个例子。您需要修改确切的文件位置以反映您的系统。
>>> import zipfile
>>> f=zipfile.ZipFile('gmpy2-2.0.0.win-amd64-py3.3.exe','r')
>>> f.namelist()
['PLATLIB/gmpy2-2.0.0-py3.3.egg-info', 'PLATLIB/gmpy2.pyd']
>>> f.extract('PLATLIB/gmpy2.pyd')
'C:\\Python33\\PLATLIB\\gmpy2.pyd'
【讨论】:
f.extractall()但是不知道解压出来的文件放在哪里
执行以下操作:
easy_install C:\temp\numpy-MKL-1.8.0.win32-py2.7.exe(将 exe 文件名更改为安装程序的名称)。测试是否安装成功:
>>> import numpy
>>> print numpy.__version__
1.8.0
【讨论】:
请参考https://groups.google.com/forum/?fromgroups#!topic/portablepython/BVQOHFNXilU
据此,对于大多数软件包,您应该能够轻松安装到您的 Portable Python 根文件夹中,然后在您的 Python 脚本中正常导入它。
【讨论】:
对于大多数外部包,我已经能够按如下方式导入它们:
.whl 文件中提取包源到安装了 Portable Python 的磁盘/棒上的自定义“包含”文件夹中。
F:\py\include——无论您选择什么,确保此文件夹的路径中没有空格或特殊字符,否则 Portable Python 不会解析它正确添加到PYTHONPATH。.whl 重命名为 .zip,Windows 资源管理器将立即打开它。.whl 中的子文件夹,其名称就是您感兴趣的包名称:numpy、sympy 等。PYTHONPATH 环境变量:
PYTHONPATH。如果它在那里,请选择它并单击“编辑”。如果没有,请点击“新建”。PYTHONPATH 作为“变量名称”。无论哪种方式,将自定义包含文件夹的路径添加到“变量值”中。如果其他路径已经存在,请用分号将您的路径与之前的任何路径分开。 不要在分号和新路径之间加空格! Portable Python 显然将带有前导空格的条目解释为相对路径,参考文件夹是 Portable Python 安装文件夹。在某些需要“正式”安装过程的情况下,这并不总是有效。我认为sympy 是一种我必须在将其传输到F:\py\include 之前对其进行编译的情况。另外,我有一个特别的rough time 和h5py,但最终通过将它安装到Python 2.7 的“普通”版本并将生成的h5py 文件夹复制到F:\py\include 来让它工作。
【讨论】: