gol*_*enk 11 python pexpect pycharm python-3.x
我正在尝试运行一个基本的Pexpect脚本:
import pexpect
ftp_process = pexpect.spawn('ftp')
ftp_process.interact()
Run Code Online (Sandbox Code Playgroud)
当代码直接从终端运行时,代码按预期工作.如果我使用PyCharm的run/debug运行代码,我会收到以下错误:
Traceback (most recent call last):
File "/path/to/code/test.py", line 3, in <module>
ftp_process.interact()
File "/usr/local/lib/python3.4/site-packages/pexpect/__init__.py", line 1645, in interact
mode = tty.tcgetattr(self.STDIN_FILENO)
termios.error: (25, 'Inappropriate ioctl for device')
Run Code Online (Sandbox Code Playgroud)
似乎Pexpect如何与PyCharm的运行/调试窗口交互,默认情况下不起作用.有没有办法通过特定的PyCharm设置来解决这个问题?如果没有,还有其他方法可以解决这个问题吗?
编辑
上面的代码只是一个缩短的例子,导致了问题.Pexpect的的其他的能力(如expect(),sendline()等)仍需要的话.
小智 -1
看起来 pexpect 在您的默认 Python 安装中已正确安装,可能还有另一个 python 实例未安装或正确安装了 pexpect 库。在 PyCharm 设置中尝试将其指向默认/正确的 python 安装。