记录一次Linux在无网络情况下python包requests-2.19.1-py2.py3-none-any.whl的安装与卸载
UpDate 2018-08-18 1534585866
Author unnamed
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。但由于没有网络,回溯总是会失败:
回溯记录
-
但其实这个时候,我们执行
pip list 检查pip list | grep requests
就可以看到我们已经安装好了requests包: -
如果通过
卸载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
来卸载。
网友评论