いくつかのバージョン情報:
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 コンソールが失敗します。
3 つの仮想環境プロジェクトを作成しました。どの仮想環境もアクティブ化しませんでした。ですから、システム 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 を指します。
これはこれに関連しているようです。しかし、よくわかりません。
助けてください。