Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用可移植Python安装外部库?_Python_Numpy_Installation_Portability - Fatal编程技术网

如何使用可移植Python安装外部库?

如何使用可移植Python安装外部库?,python,numpy,installation,portability,Python,Numpy,Installation,Portability,由于管理员权限,我无法在我的机器上安装Python,但我确实成功下载/打开了Portable Python。我在Windows7 64位计算机上。如何使用以前的外部库,如Numpy或Gmpy?请参阅 根据这一点,对于大多数软件包,您应该能够轻松地安装到可移植的Python根文件夹中,然后像往常一样将其导入Python脚本。easy\u install正在尝试从源代码进行安装。gmpy和gmpy2是C扩展,需要有兼容的C编译器和其他库;gmpy2的MPFR和MPC。在Windows上从源代码安装通

由于管理员权限,我无法在我的机器上安装Python,但我确实成功下载/打开了Portable Python。我在Windows7 64位计算机上。如何使用以前的外部库,如Numpy或Gmpy?

请参阅


根据这一点,对于大多数软件包,您应该能够轻松地安装到可移植的Python根文件夹中,然后像往常一样将其导入Python脚本。

easy\u install正在尝试从源代码进行安装。gmpy和gmpy2是C扩展,需要有兼容的C编译器和其他库;gmpy2的MPFR和MPC。在Windows上从源代码安装通常很困难。安装程序包括扩展的预编译版本

一个选项是从安装程序中提取已编译的二进制文件。能够打开安装程序文件,您可以提取二进制文件。在标准Python安装中,提取的二进制文件只需放在SitePackages目录中。如有必要,可以在另一个系统上执行提取并复制文件

您还可以使用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 mantains a Excellent collection),下载该软件包并将其放入文件夹C:\temp。 在便携式Python安装中,通常在Apps文件夹下找到Scripts文件夹,并在那里打开一个命令提示符。 在脚本文件夹中,键入命令easy\u install C:\temp\numpy-MKL-1.8.0.win32-py2.7.exe,更改安装程序名称的exe文件名。 测试安装是否成功:

>>> import numpy
>>> print numpy.__version__
1.8.0

对于大多数外部软件包,我可以按如下方式导入它们:

从PyPI上相应的.whl文件中将包源提取到磁盘/stick上的自定义“include”文件夹中,并安装了Portable Python。 在我的例子中,这是F:\py\include-无论您选择什么,请确保此文件夹的路径中没有空格或特殊字符,否则当将Portable Python添加到PYTHONPATH时,它将无法正确解析。 轮子只是压缩文件;将.whl重命名为.zip,Windows资源管理器将立即打开它。 通常,您希望检索.whl中的子文件夹,其名称正是您感兴趣的包名称:numpy、sympy等。 将此include文件夹的路径添加到PYTHONPATH环境变量: 在Windows资源管理器中,右键单击“计算机”并选择“属性” 这有点依赖于版本,但请选择类似Win7的“高级系统设置”或WinXP的“性能”或“高级”选项卡。 单击“环境变量” 在“系统变量”下,查找PYTHONPATH。如果有,请选择它并单击“编辑”。如果没有,请单击“新建”。 如果要添加新路径,请键入PYTHONPATH作为“变量名”。无论哪种方式,都可以将自定义包含文件夹的路径添加到“变量值”中。如果其中已有其他路径,请用分号将您的路径与之前的路径分开。不要在分号和新路径之间加空格!Portable Python显然将带有前导空格的条目解释为相对路径,引用文件夹是Portable Python安装文件夹。 根据需要单击“确定”保存设置并清除对话框。
在某些需要正式安装过程的情况下,这并不总是有效的。我认为sympy是一种在将其传输到F:\py\include之前必须编译的情况。另外,我对h5py有一个特别的了解,但最终通过将其安装到Python 2.7的“正常”版本中并将生成的h5py文件夹复制到F:\py\include上,使其正常工作。

我使用此方法提取pycrypto包,该包中有许多模块,我使用了F.extractall,但不知道将提取的文件放在哪里