当PyPy和iPython在virtualenv创建的项目中共存时,PyCharm的Python控制台失败了

时间:2013-07-21 17:21:38

标签: python ipython pycharm pypy terminfo

某些版本信息:

OS: Mac OS X 10.8.4
Python: 2.7.2 (that came with the Mac OS X)
PyPy: 2.0.2
iPython: 0.13.2
PyCharm: 2.5.1
当PyPy和iPython在virtualenv创建的项目中共存时,PyCharm的Python控制台失败了。

image

我创建了三个虚拟环境项目。我没有激活任何虚拟环境。所以,系统python仍然存在。

环境 - 1:

$ virtualenv -p /path/to/system/installed/python /path/to/sample_1/virtualenv/project
$ /path/to/sample_1/virtualenv/project/bin/pip install ipython

现在,当我在PyCharm中运行python控制台时,它运行正常。 (PyCharm中的解释器设置为/ path / to / sample_1 / virtualenv / project / bin / python)

环境 - 2:

$ virtualenv -p /path/to/pypy /path/to/sample_2/virtualenv/project

现在,当我在PyCharm中运行python控制台时,它运行正常。 (PyCharm中的解释器设置为/ path / to / sample_2 / virtualenv / project / bin / python)

环境 - 3:

$ virtualenv -p /path/to/pypy /path/to/sample_3/virtualenv/project
$ /path/to/sample_3/virtualenv/project/bin/pip install ipython

现在,当我在PyCharm中运行python控制台时,它失败并出现以下错误。 (PyCharm中的解释器设置为/ path / to / sample_3 / virtualenv / project / bin / python)

/path/to/sample_3/virtualenv/project/bin/pypy -u /Applications/PyCharm.app/helpers/pydev/pydevconsole.py 60355 60356
PyDev console: using IPython 0.13.2
Traceback (most recent call last):
  File "app_main.py", line 72, in run_toplevel
  File "/Applications/PyCharm.app/helpers/pydev/pydevconsole.py", line 361, in <module>
    StartServer(pydev_localhost.get_localhost(), int(port), int(client_port))
  File "/Applications/PyCharm.app/helpers/pydev/pydevconsole.py", line 288, in StartServer
    interpreter = InterpreterInterface(host, client_port, threading.currentThread())
  File "/Applications/PyCharm.app/helpers/pydev/pydev_ipython_console.py", line 37, in __init__
    self.interpreter = PyDevFrontEnd()
  File "/Applications/PyCharm.app/helpers/pydev/pydev_ipython_console_011.py", line 35, in __init__
    shell = TerminalInteractiveShell.instance()
  File "/path/to/sample_3/virtualenv/project/site-packages/IPython/config/configurable.py", line 318, in instance
    inst = cls(*args, **kwargs)
  File "/path/to/sample_3/virtualenv/project/site-packages/IPython/frontend/terminal/interactiveshell.py", line 360, in __init__
    user_module=user_module, custom_exceptions=custom_exceptions
  File "/path/to/sample_3/virtualenv/project/site-packages/IPython/core/interactiveshell.py", line 454, in __init__
    self.init_readline()
  File "/path/to/sample_3/virtualenv/project/site-packages/IPython/core/interactiveshell.py", line 1843, in init_readline
    self.refill_readline_hist()
  File "/path/to/sample_3/virtualenv/project/site-packages/IPython/core/interactiveshell.py", line 1851, in refill_readline_hist
    self.readline.clear_history()
  File "/tmp/pypy-2.0.2/lib_pypy/pyrepl/readline.py", line 284, in clear_history
    del self.get_reader().history[:]
  File "/tmp/pypy-2.0.2/lib_pypy/pyrepl/readline.py", line 188, in get_reader
    console = UnixConsole(self.f_in, self.f_out, encoding=ENCODING)
  File "/tmp/pypy-2.0.2/lib_pypy/pyrepl/unix_console.py", line 98, in __init__
    curses.setupterm(term, self.output_fd)
error: setupterm: could not find terminfo database

Process finished with exit code 1

请注意,任何虚拟环境中的bin / python都指向已安装的解释器。例如,/ path / to / sample_3 / virtualenv / project / bin / python指向pypy和/ path / to / sample_1 / virtualenv / project / bin / python指向系统安装的python。

这似乎与this有关。但是,我不确定。

请帮忙。

1 个答案:

答案 0 :(得分:0)

查看实际的异常消息,这可能是一个潜在的解决方案:

https://support.enthought.com/entries/22438744-Linux-IPython-in-terminal-error-setupterm-could-not-find-terminfo-database-

Meanwhile, you should be able to work around the problem by setting
 export TERM="xterm-256color" in the shell from which you execute ipython,
or in your~/.bashrc file, which you then source.