本文介绍在CentOS Linux系统无网络情况下pip install package.whl的安装和pip uninstall package的卸载,以requests-2.19.1-py2.py3-none-any.whl为例。
思路清奇的错误 以requests包为例,安装版本为2.19.1。 1.首先前往PYPI网搜索并下载requests-2.19.1-py2.py3-none-any.whl 2.然后进行pip install requests-2.19.1-py2.py3-none-any.whl的安装,在没有网络的情况下,可能会进行其他包的回溯,比如chardet。但由于没有网络,回溯总是会失败:
3.但其实这个时候,我们执行pip list | grep requests就可以看到我们已经安装好了requests包:
4.如果通过pip install package.whl的方式来进行对python包的安装,那么卸载就很方便了,只需要执行pip uninstall package即可:
奇迹的方法 其实,在以上4个步骤结束之后,我自认为我已经讲解好了python包的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来卸载。如果要在CentOS下连网可以参考CentOS 7系统的网络配置方法一文。
相关主题 |