由于管理员权限,我无法在我的机器上安装 Python,但我确实成功下载/打开了 Portable Python。我在 Windows 7 64 位机器上。我如何才能使用以前的外部库,例如 Numpy 或 Gmpy?
4 回答
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'
请执行下列操作:
- 找到所需包的已编译版本 - Christoph Gohlke在这里保存了一个优秀的集合- 下载它并将它放在一个文件夹中(比如 C:\temp)。
- 在您的 Portable Python 安装中,找到 Scripts 文件夹(通常在 Apps 文件夹下)并在那里打开命令提示符。
- 从 Scripts 文件夹中键入命令
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 脚本中正常导入它。
对于大多数外部包,我已经能够按如下方式导入它们:
- 从 PyPI 上的适当文件中提取包源到
.whl
安装了 Portable Python 的磁盘/棒上的自定义“包含”文件夹中。- 在我的情况下,这是
F:\py\include
- 无论您选择什么,请确保此文件夹的路径中没有空格或特殊字符,否则 Portable Python 在添加到PYTHONPATH
. - 轮子只是 ZIP 文件;重命名
.whl
为.zip
,Windows 资源管理器将直接打开它。 - 通常您想检索
.whl
其名称只是您感兴趣的包名称的子文件夹:numpy
,sympy
等。
- 在我的情况下,这是
- 将此包含文件夹的路径添加到
PYTHONPATH
环境变量中:- 在 Windows 资源管理器中,右键单击“计算机”并选择“属性”
- 这有点取决于版本,但请选择“高级系统设置”(Win7) 或“性能”或“高级”选项卡 (WinXP)。
- 点击“环境变量”
- 在“系统变量”下,查找
PYTHONPATH
. 如果它在那里,请选择它并单击“编辑”。如果没有,请单击“新建”。 - 如果您要添加新的,请键入
PYTHONPATH
“变量名称”。无论哪种方式,将自定义包含文件夹的路径添加到“变量值”中。如果其他路径已经存在,请用分号将您的路径与之前的任何路径分开。不要在分号和新路径之间放置空格!Portable Python 显然将带有前导空格的条目解释为相对路径,参考文件夹是 Portable Python 安装文件夹。 - 根据需要单击“确定”以保存设置并清除对话框。
在某些需要“正式”安装过程的情况下,这并不总是有效。我认为sympy
是一种情况,我必须在将其转移到F:\py\include
. 此外,我在. _h5py
h5py
F:\py\include