为什么用python的IDLE编写后运行正常但在命令行中不行?

我用paramiko模块写了一段程序,用pyhon自带的IDLE编写好后F5保存运行,在解释器里显示的结果一切正常,但是在cmd中输入“python 程序名.py”运行时总是报错无法运行,为什么??
代码如下:
#coding:utf-8
import paramiko
import xlwt
import time

#远程登入并获取到想要的数据
def ssh_connect(ip='172.16.121.51', port=2222, user='root', password='kedacom'):
#实例化SSH登入端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#连接到linux设备
ssh.connect(ip, port, user, password)
#远程输入命令
command = 'top -b -d 1 -n 10| grep Cpu | awk \'{print $5}\' | cut -d \'%\' -f 1'
stdin, stdout , stderr = ssh.exec_command(command)
#CPU信息采集等待
time.sleep(20)
#读取CPU数据
data = stdout.read()
#将数据变为元组并写入到excel中
list_data = data.split('\n')
workbook = xlwt.Workbook(encoding = 'ascii')
worksheet = workbook.add_sheet('cpu date')
for i in range(10):
worksheet.write(i,0, list_data[i])
save_local = 'd:\\Cpu.xls'
workbook.save(save_local)
ssh.close()
print 'connect ok'

报错:
Traceback (most recent call last):
File "paramiko.py", line 2, in <module>
import paramiko
File "C:\Users\sunsuwen\sshparamiko\paramiko.py", line 43, in <module>
ssh_connect()
File "C:\Users\sunsuwen\sshparamiko\paramiko.py", line 9, in ssh_connect
ssh = paramiko.SSHClient()
AttributeError: 'module' object has no attribute 'SSHClient'

把你编写的python文件改个名字,不要使用paramiko作为你的文件名。追问

改了名字~但还是报这个错误~~

追答

你的程序找不到paramiko。

你把paramiko库安装在什么位置?

在文件开头加上这两句,运行看print的输出“

import sys
print(sys.path)

检查一下有没有paramiko库的路径。没有的话,加入:

sys.path.insert(0, "路径\\path\\to\\paramiko")

追问

就是默认装到python2.7\Lib\site-packages里的 path里有的 主要为什么在python的解释器里运行可以但是这样运行就报错呢

追答

在CMD里面启动python,调试一下看有什么信息:

python
>>> import paramiko
>>> ssh = paramiko.SSHClient()

在CMD中没错的话,要检查你的文件路径和文件名有没有与paramiko重名的,更改之。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-13
报什么错呢
第2个回答  2014-08-13
错误的图呢?