python离线安装module以及常见问题及解决方案


工作办公的时候,经常遇到服务器不能连接网络,但又需要下载一些资源的情况,例如python下载module。在线的情况下,可以通过pip命令直接对module进行下载,但在离线状况下就失效。本文将介绍一下python离线安装module,以及我在离线安装时遇到的问题以及解决方案。

一,离线安装module

1.1 下载module

访问地址 https://pypi.org/,在输入框输入需要的module名称,查找自己需要的module版本进行下载(xxx.tar.gz 或 xxx.tar)

在这里插入图片描述

然后将压缩包传输并解压到服务器的指定目录

1.2 离线安装

先cd到服务器中进入到解压后的目录后,会发现该目录下有文件 setup.py ,然后先build,再install,就能把该module进行安装

> cd /xxx/xxx/modulexxx
> ls
xxx   xxx   ...  setup.py
> python setup.py build
> python setup.py install

二,常见的问题

2.1 模块缺少合适的适配:error: Could not find suitable distribution for Requirement.parse()

离线安装时,最后执行 python setup.py install 经常会遇到module缺少依赖的情况,如下所示:

Searching for urllib3<1.27,>=1.21.1
Reading https://pypi.org/simple/urllib3/
Download error on https://pypi.org/simple/urllib3/: [Errno 8] nodename nor servname provided, or not known -- Some packages may not be found!
Couldn't find index page for 'urllib3' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno 8] nodename nor servname provided, or not known -- Some packages may not be found!
No local packages or working download links found for urllib3<1.27,>=1.21.1
error: Could not find suitable distribution for Requirement.parse('urllib3<1.27,>=1.21.1')

这种情况解决起来相对比较简单,只需要再到 https://pypi.org/,去寻找urllib3合适的版本进行下载,再进行离线安装就可以了,操作步骤也如一所示。

2.2 install成功但发现控制台打印的最后一行显示下载module版本为0.0.0

这种情况比较少见,在网上也没找到相关的问题以及解决方案(也有可能是我查找关键字不对)。当我离线安装install后显示版本为0.0.0时,我先进入python控制台,然后执行help命令:

> python
>>> help("模块名称")

此时会以vi的方式打开一份文件,定位到最后一行(Shift + g),会看到关于module的一个路径

DATA
    division = _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192...

FILE
    /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/zipp-0.0.0-py3.7.egg/zipp.py

此时我cd到 /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages路径下,将 zipp-0.0.0-py3.7.egg文件夹名称改为 zipp-0.6.0-py3.7.egg (0.6.0是我安装的版本)

然后再对module(引用zipp的module)进行重新build和install,就可以了。

注意:这种方式是我试出来的,虽然暂时没有发现问题,但不排除存在隐患。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值