python - 在 Python 3 中使用 Pexpect

标签 python python-3.x ubuntu-12.04 pexpect

经过几个小时的研究,我已经分解到发帖。我正在尝试将 Pexpect 模块与 python 3 一起使用,我相信这是可能的 document page它确实说它将与 python 3.2 一起运行。

我尝试过的事情:我尝试过许多不同的安装方式,包括下载源代码和运行命令 sudo python3 setup.py install。我还尝试使用 pip 和文档中建议的 *easy_install* 安装它。在我尝试在 pyshell 中导入模块之前,一切似乎都顺利进行。当我键入 import pexpect 时,出现错误:

class spawn(object): 
File "/usr/local/lib/python3.2/dist-packages/pexpect/init.py", line 286, in spawn
  write_to_stdout = sys.stdout.buffer.write
AttributeError: 'PseudoFile' object has no attribute 'buffer'

我也曾尝试用谷歌搜索错误,但没有成功。我试过使用 python 2.7,它工作正常。我尝试了多个基于 debian 的操作系统:Ubuntu 12.04 和 Kali,结果相同。

我觉得我缺少了一些明显的东西,但我就是看不到它。任何指向正确方向或帮助我理解错误消息的观点都将不胜感激!

最佳答案

a bug在 Pexpect 3.0 中,如果 sys.stdout 在导入之前被替换,它会停止工作。看起来 IDLE 取代了 stdout,所以正如您所发现的,它在 IDLE 和 Python 3 中不起作用。

该错误现已修复。我将尝试在接下来的几天内推出新版本的 Pexpect,然后您就可以从 IDLE 中使用它了。

关于python - 在 Python 3 中使用 Pexpect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20986471/

相关文章:

python - 导入错误 : cannot import name '_ColumnEntity' from 'sqlalchemy.orm.query'

python - seaborn pairplot 旁边的颜色条

python - PyQuery Python 不支持 for 循环

linux - 如何在apache DocumentRoot中添加$HOME变量

c++ - 交叉编译 Ubuntu 到 Beaglebone 后无法在目标上找到共享库

python - 语法错误 : Generator expression must be parenthesized

python - 在 Django 中获取二阶数据库信息的 Djangonic 方法?

python - 属性错误: 'NoneType' object has no attribute 'get_text' how can I solve it?

python - 我将如何解析结果并将其插入变量?

php - 在 PHP 5.4.9 (x64) 上安装 libssh2-php