最近學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】,就可以批量一次性安裝完畢。