最近学python,需要使用到python登录交换机实现运维的操作,网上查了下需要用到paramiko这个模块,因为公司的加域电脑不方便连外网,找了好多教程都安装不成功,要么是没说清楚自己电脑是win7还是win10,要么没说自己的python版本,总之很坑爹,折腾了两个晚上终于找到一个成功的方法,适用所有系统版本和pytho版本,前提需要一台能连外网的电脑,外网电脑直接pip install paramiko,能在cmd窗口里看到下载了哪些包,再把这些包都下载到本地电脑安装就ok,超级简单。当前使用的系统为win10,python版本为3.6.5,可以作为参考。
1.首先外网电脑安装对应python版本,将pip源地址改成国内的,这样下载的速度快很多,我使用的是清华大学的源,修改方法为在【C:\Users\‘自己的账户名’\AppData\Roaming】下新建一个文件夹【pip】,进入pip文件夹新建一个【pip.ini】的文件,内容为:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=mirrors.aliyun.com
2.先更新pip,不安装这个后面的包无法继续安装,后续也需要把pip更新包下载到无法联网电脑上使用。
输入【pip list】就会提示升级的命令【pip install --upgrade pip】
接着输入pip install --upgrade pip,安装过程会弹出一个下载地址,这个就是刚才设置的在清华源上下载的地址,记下来,之后需要把pip包下载到无法联网电脑上。
完成后会如下图报错,这个没关系,输入pip list查看pip版本是升级成功后的版本就行,我升级后的版本为pip 20.3.1
3.这时候就可以联网安装paramiko了,输入命令【pip install paramiko】,自动安装所有依赖关系包,同时会提示下载地址,将地址复制出来到网页里下载,我的环境一共下载了7个包,six,pynacl,pycparse,cffi,bcrypt,cryptography,paramiko
4.测试一下能否正常使用,进入python界面,【import paramiko】导入paramiko若不报错就成功了。
5.接下来就将这些包全部下载,paramiko一共7个包,加上pip更新包一共8个,下载到内网电脑就就可以实现离线安装。把8个包放入一个文件夹【py】内,cmd进入该文件夹,【pip install 包名】即可安装,可以包名输入前几个字母后按table键补齐文件名。
6.注意安装的顺序为:先安装pip,后续再安装six--->pynacl--->pycparser--->cffi--->bcrypt--->cryptography--->paramiko,如果记不住顺序也没关系,安装哪个报错误会提示需要先安装缺失的包,按照提示一个一个安装,最后装paramiko,简单粗暴。
7.后面觉得一个一个安装太麻烦,找到一个批量安装方法,也是需要先安装pip,之后新建一个【requirements.txt】文件,放在跟8个包同文件夹的位置,内容如下:
six-1.15.0-py2.py3-none-any.whl PyNaCl-1.4.0-cp36-cp36m-win_amd64.whl pycparser-2.20-py2.py3-none-any.whl cffi-1.14.4-cp36-cp36m-win_amd64.whl bcrypt-3.2.0-cp36-abi3-win_amd64.whl cryptography-3.2.1-cp36-cp36m-win_amd64.whl paramiko-2.7.2-py2.py3-none-any.whl
这些都是同文件夹的包名全名,根据需要自己修改,但顺序要按照这个顺序来放),最后输入命令【pip install -r requirements.txt】,就可以批量一次性安装完毕。