记录一次Linux在无网络情况下python包requests-2.19.1-py2.py3-none-any.whl的安装与卸载

记录一次Linux在无网络情况下python包requests-2.19.1-py2.py3-none-any.whl的安装与卸载

UpDate 2018-08-18 1534585866

Author unnamed

Mail [email protected]

Tip Please feel free to contact me via mail above for any confusion or suggestions

INTRODUCTION

本文仅介绍Linux(CentOS)在无网络状况下pip install package.whl的安装与pip uninstall package的卸载,以requests-2.19.1为例。过程中记录的个人所踩的坑!

思路清奇的错误

以requests包为例,安装版本为2.19.1:

  • 首先前往PYPI搜索并下载requests-2.19.1-py2.py3-none-any.whl
  • 然后进行pip install requests-2.19.1-py2.py3-none-any.whl的安装,在没有网络的情况下,可能会进行其他包的回溯,比如chardet。但由于没有网络,回溯总是会失败:
    记录一次Linux在无网络情况下python包requests-2.19.1-py2.py3-none-any.whl的安装与卸载_第1张图片
    回溯记录
  • 但其实这个时候,我们执行pip list | grep requests就可以看到我们已经安装好了requests包:

    pip list 检查

  • 如果通过pip install package.whl的方式来进行对python包的安装,那么卸载就很方便了,只需要执行pip uninstall package即可:

    卸载

其实,在以上四步结束之后,我自认为我已经讲解好了包的whl安装与卸载。但令人尴尬的事情很快就发生了。我要用pip list | grep requests再次验证包被正确的卸载了。没错,事实证明,pip uninstall package确实也发挥了作用,将包十分正确的卸载完成了。但是当我按照上面的四个步骤进行包的再次安装时,神奇的事情就发生了:

我!的!安!装!过!程!完!全!没!有!效!果!

我灵机一动,想起来,在做这几个步骤之前我曾尝试了另一种包的安装方式:python setup.py install,没错,我首先在PYPI上下载的并不是whl文件,而是源文件。然后解压执行setup.py的安装。但是过程的最后提示相关依赖没有正确安装,因为本文讨论的是在没有网络的情况下进行的,因此,在最后包的相关依赖的安装过程中,网络并不支持依赖的回溯,因此依赖的安装就错误的停止了。

但是!

这并不代表着我们的包就没有安装成功!

于是,我再次通过python setup.py install进行了重新的安装,用pip list | grep requests进行是否安装了的检查。意料之中,确实安装上了。

所以,其实最后还是用了源文件来安装,然后用了pip uninstall来卸载。

你可能感兴趣的:(记录一次Linux在无网络情况下python包requests-2.19.1-py2.py3-none-any.whl的安装与卸载)