0%

Python依赖包离线迁移方法

在工作中会遇到需要在一台离线的服务器上配置一些Python包,这是常见的Python安装方法就无法胜任了,需要先下载二进制whl文件,然后copy到服务器上进行安装;一般常见的第三方库可以在https://www.lfd.uci.edu/~gohlke/pythonlibs/

但是一些Python包会有一些依赖包,这时单靠二进制whl文件是无法离线安装这些依赖包的,这时我们需要知道所要安装的包对应的依赖文件有哪些:

  • 如果Python环境中已经有了pdfminer包,那么用pip show即可查看
  • 如果有source code安装包,则可以通过安装包内的requires.txt文件查看
  • 对于在环境中已存在的包,也可以用pkg_resources包的一些函数来查看 如果遇到一个Python包好很多依赖包,而一些依赖包又有对应的依赖包,这时按照上述方法一个个去查看然后下载对应的whl的话,效率会很低下;这时可以类比参照python依赖包整体迁移方法

先在本地可联网的Python环境中安装你所需要的Python包

然后新建site-packages目录,在该目录下执行:

pip freeze >requirements.txt

相当于将你python环境中的site-packages目录下所有包及其依赖包的名称及版本号都输出到requirements.txt文件中

通过pip download下载requirements.txt文件内的所有包,一般都是whl二进制文件,一部分则是source文件

pip download -r requirements.txt

接着将新建的site-packages文件夹挪到离线服务器上,在该服务器的site-packages目录下执行

pip install --no-index --find-links ./site-packages -r ./site-packages/requirements.txt

最后用pip list查看下包是否都安装了,或者进入Python后import

本文出自于http://www.bioinfo-scrounger.com转载请注明出处