如何解决没有root权限的python bug

如何解决没有root权限的python bug

Python 有一个错误,可以通过修改 中的文件来修复/usr/lib/。但我没有编辑该文件的权限,有什么办法可以解决这个问题吗?是否可以在代码文件夹中覆盖该解决方案?

以下 python 代码使用pxssh包连接到计算机ssh并在该机器上运行命令。

import pxssh
import getpass
try:                                                            
    s = pxssh.pxssh()
    hostname = raw_input('hostname: ')
    username = raw_input('username: ')
    password = getpass.getpass('password: ')
    s.login (hostname, username, password)
    s.sendline ('uptime')   # run a command
    s.prompt()             # match the prompt
    print s.before          # print everything before the prompt.
    s.logout()
except pxssh.ExceptionPxssh, e:
    print "pxssh failed on login."
    print str(e)

但是当我运行该程序时,出现以下错误。

Traceback (most recent call last):
  File "main.py", line 8, in <module>
    s.login (hostname, username, password)
  File "/usr/lib/python2.7/dist-packages/pxssh.py", line 243, in login
    if not self.synch_original_prompt():
  File "/usr/lib/python2.7/dist-packages/pxssh.py", line 134, in synch_original_prompt
    self.read_nonblocking(size=10000,timeout=1) # GAS: Clear out the cache before getting the prompt
  File "/usr/lib/python2.7/dist-packages/pexpect.py", line 824, in read_nonblocking
    raise TIMEOUT ('Timeout exceeded in read_nonblocking().')
pexpect.TIMEOUT: Timeout exceeded in read_nonblocking().

我确信我的主机凭据是正确的(我可以使用 直接连接到它们ssh)。我搜索了这个问题,似乎这是一个Python 中的错误可以通过编辑/usr/lib/python2.7/dist-packages/pxssh.py我没有权限编辑的文件来解决。在不修改该文件并获得此机器的 root 访问权限的情况下,解决此问题的最佳方法是什么?

答案1

只需将包复制pxssh.py到我的源目录中并根据错误报告说明修改该文件即可解决问题。

通常在python中,可以将包复制到可选文件夹中,并将这些文件夹的地址添加到python环境变量中;然后它们将覆盖其他文件夹。

相关内容