如何安装与便携式的Python外部库?(How to install external librar

2019-08-31 22:40发布

我的机器上,由于管理员权限,我不能安装Python,但我没有下载/打开便携式Python的成功。 我是一个Windows 7的64位计算机上。 我将如何能够使用之前从外部库,如numpy的或Gmpy?

Answer 1:

easy_install的是试图从源代码安装。 gmpy和gmpy2是C扩展并且需要兼容C编译器和其他库的存在(GMP;以及MPFR和MPC为gmpy2)。 从源代码安装,往往难以在Windows上。 安装程序包括扩展的预编译的版本。

一种选择是提取安装程序的编译的二进制。 7-Zip的是能够打开安装程序文件,您可以提取二进制。 在标准Python安装,提取二进制只需要放置在site-packages目录。 如果有必要,你可以做另一个系统上提取和复制文件。

您还可以使用zip文件模块提取编译扩展。 下面是一个例子。 您将需要修改的确切文件位置,以反映您的系统。

>>> 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'


Answer 2:

请执行下列操作:

  • 查找所需的包的已编译的版本-克里斯托夫Gohlke mantains的外观极好集合在这里 -下载它,并把它放在一个文件夹中(比如C:\ TEMP)。
  • 在你的便携式Python安装找到脚本文件夹(通常是在应用程序文件夹),打开一个命令提示符出现。
  • 从Scripts文件夹中键入命令easy_install C:\temp\numpy-MKL-1.8.0.win32-py2.7.exe (修改exe文件名是什么你安装程序的名称)。

测试安装是否成功:

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


Answer 3:

请参阅https://groups.google.com/forum/?fromgroups#!topic/portablepython/BVQOHFNXilU

据认为,对于大多数包,你应该能够进行一个简单的安装到您的便携式Python的根文件夹,然后将它导入在你的Python脚本正常。



Answer 4:

对于大多数外部包,我已经能够导入如下:

  1. 从适当的解压包源.whl PyPI上的文件到一个自定义“包含”在磁盘/棒安装便携式Python的文件夹中。
    1. 在我而言,这是F:\py\include -不管你选择, 确保路径到此文件夹没有空格或特殊字符在里面,否则便携式当加入到了Python不会正确分析PYTHONPATH
    2. 车轮只是ZIP文件; 重命名.whl.zip和Windows资源管理器中打开它的权利了。
    3. 通常你想检索中的子文件夹.whl他的名字就是你感兴趣的包名: numpysympy等。
  2. 路径添加到该文件夹包含到PYTHONPATH环境变量:
    1. 在Windows资源管理器中,在“计算机”右键单击并选择“属性”
    2. 这是一个位版本的依赖,但要选择像“高级系统设置”(Win7的)或“性能”或“高级”选项卡(操作系统)。
    3. 点击“环境变量”
    4. 在“系统变量”,寻找PYTHONPATH 。 如果它的存在,选择它,然后单击“修改”。 如果没有,请单击“新建”。
    5. 如果你将它添加新的类型PYTHONPATH作为“变量名。” 无论哪种方式,路径添加到您的自定义文件夹包含到“变量值”。 如果其他路径都已经在那里,从任何一个之前用分号分隔的路径。 不要将分号和新路径之间的空间! 便携式的Python显然解释条目与为相对路径的主要空间,与参考文件夹正在便携式Python安装文件夹。
    6. 点击需要保存设置并清除对话框“OK”。

在某些情况下,需要一个“正式”的安装过程中,这并不总是奏效。 我认为sympy是,我不得不将其转移到之前编译它一个案例F:\py\include 。 另外,我有一个特别粗糙的时间与h5py ,但最终得到了它通过将其安装到Python 2.7版的“正常”的版本和复制得到的工作h5py到文件夹F:\py\include



文章来源: How to install external libraries with Portable Python?