python paramiko的安装与使用

我的python 是windows 下3.4.2 32bit的,下面的是基于这个环境安装的SSH模块paramiko,其中遇到两个大坑,折腾了两个晚上,我想说,python安装偏低层的模块实在太垃圾,还是windows下,顿时对python的印象变差,与优美的语法格格不入。好了抱怨怎么多,还是说说我怎么安装这个恼火的paramiko。


paramiko 依赖于 pycrypto, ecdsa两个模块,所以首先安装 pycrypto, ecdsa


D:\SW\计算机开发工具\Python\3.4.3-32bit\matplotlib>pip show paramiko

---
Name: paramiko 
Version: 1.18.3

Location: d:\programfiles\develop\python34\lib\site-packages\paramiko-1.18.3-py3.4.egg

Requires: pycrypto, ecdsa


1.下载安装pycrypto-2.6.1.win32-py3.4 .exe,这个简单,双击一路next


2.下载安装 ecda 

https://pypi.python.org/pypi/ecdsa#downloads


下载的是带setup.py的包就用

python setup.py install


下载的是带whl的包就用pip install 安装 

pip install ecdsa-0.13-py2.py3-none-any.whl


3.安装paramiko,python版本<=3.4 的一定要下载1.18或者以下版本,不能是2开头的版本。

就是这个原因折腾了两个晚上,中间试了各种版本,2.2.0, 2.2.1,github最新的master,各类型的包whl的,带setup.py的,换python 版本(没换过3.4+的版本,害怕这个最新的会有更多兼容性的问题,模块不支持的问题),都不行,一开始怀疑是编译器环境的问题,各种试,安装minGW都没用,最后就要放弃这个垃圾paramiko时,安装了VS2015,随便试了个1.13的版本就好了,后来亲测,1.18可以装上

下载地址

https://github.com/paramiko/paramiko/


下载的是带setup.py的包就用

python setup.py install

下载的是带whl的包就用

pip install whl文件的名字


如果一切OK,恭喜你,如果遇到了Unable to find vcvarsall.bat,则需要安装Visual Studio对垃圾安装包paramiko进行编译,我安装的Visual Studio 2015,然后在cmd窗口下执行下面命令

Execute the following command based on the version of Visual Studio installed:

  • Visual Studio 2010 (VS10): SET VS90COMNTOOLS=%VS100COMNTOOLS%
  • Visual Studio 2012 (VS11): SET VS90COMNTOOLS=%VS110COMNTOOLS%
  • Visual Studio 2013 (VS12): SET VS90COMNTOOLS=%VS120COMNTOOLS%
  • Visual Studio 2015 (VS14): SET VS90COMNTOOLS=%VS140COMNTOOLS%
或者更暴力,直接配置系统环境变量 VS90COMNTOOLS指向 %VS140COMNTOOLS%(我的是vs2015)

如果还不行,python安装路径...\Lib\distutils目录下有个msvc9compiler.把toolskey直接指定你安装的VS版本

if not productdir or not os.path.isdir(productdir):
    #toolskey = "VS%0.f0COMNTOOLS" % version
    toolskey = "VS140COMNTOOLS"
    toolsdir = os.environ.get(toolskey, None)

这样还不行,我建议你永生不要用paramiko这个垃圾安装包,不管他多好用,有这时间还不如自己研究写一个ssh的模块或者安装别的类似模块。


猜你喜欢

转载自blog.csdn.net/cxfeugene/article/details/74359190