Cygwinにipythonを入れてみた
TAB補完などが可能ということで、対話実行型のシェルであるipythonを入れてみた。
pyreadlineが必要とのことで、easy_installでインストール
$easy_install install pyreadline Searching for pyreadline Reading http://pypi.python.org/simple/pyreadline/ Best match: pyreadline 2.0 Downloading http://pypi.python.org/packages/source/p/pyreadline/pyreadline-2.0.zip#md5=87b15f18deff1db76e9d37149a2b027b Processing pyreadline-2.0.zip Writing /tmp/easy_install-9jjs95/pyreadline-2.0/setup.cfg Running pyreadline-2.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-9jjs95/pyreadline-2.0/egg-dist-tmp-TtFRf7 package init file 'pyreadline/configuration/__init__.py' not found (or not a regular file) Creating missing __init__.py for pyreadline.configuration zip_safe flag not set; analyzing archive contents... Adding pyreadline 2.0 to easy-install.pth file Installed /usr/lib/python2.7/site-packages/pyreadline-2.0-py2.7.egg Processing dependencies for pyreadline Finished processing dependencies for pyreadline
続けてipythonをインストール
$easy_install install ipython Searching for ipython Reading http://pypi.python.org/simple/ipython/ Best match: ipython 0.13.2 Downloading http://pypi.python.org/packages/source/i/ipython/ipython-0.13.2.zip#md5=76195c97e426fbc641f66c55faa0318a Processing ipython-0.13.2.zip Writing /tmp/easy_install-T0LnsL/ipython-0.13.2/setup.cfg Running ipython-0.13.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-T0LnsL/ipython-0.13.2/egg-dist-tmp-2vXAPV Adding ipython 0.13.2 to easy-install.pth file Installing ipcontroller script to /usr/bin Installing iptest script to /usr/bin Installing ipcluster script to /usr/bin Installing ipython script to /usr/bin Installing pycolor script to /usr/bin Installing iplogger script to /usr/bin Installing irunner script to /usr/bin Installing ipengine script to /usr/bin Installed /usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg Processing dependencies for ipython Finished processing dependencies for ipython
ipythonを実行すると、何かエラーが...
$ipython Traceback (most recent call last): File "/usr/bin/ipython", line 9, in <module> load_entry_point('ipython==0.13.2', 'console_scripts', 'ipython')() File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/frontend/terminal/ipapp.py", line 388, in launch_new_instance app.initialize() File "<string>", line 2, in initialize File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/config/application.py", line 84, in catch_config_error return method(app, *args, **kwargs) File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/frontend/terminal/ipapp.py", line 324, in initialize self.init_shell() File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/frontend/terminal/ipapp.py", line 340, in init_shell ipython_dir=self.ipython_dir) File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/config/configurable.py", line 318, in instance inst = cls(*args, **kwargs) File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/frontend/terminal/interactiveshell.py", line 360, in __init__ user_module=user_module, custom_exceptions=custom_exceptions File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/core/interactiveshell.py", line 454, in __init__ self.init_readline() File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/core/interactiveshell.py", line 1779, in init_readline import IPython.utils.rlineimpl as readline File "/usr/lib/python2.7/site-packages/ipython-0.13.2-py2.7.egg/IPython/utils/rlineimpl.py", line 38, in <module> from pyreadline import * File "/usr/lib/python2.7/site-packages/pyreadline-2.0-py2.7.egg/pyreadline/__init__.py", line 11, in <module> from . import unicode_helper, logger, clipboard, lineeditor, modes, console File "/usr/lib/python2.7/site-packages/pyreadline-2.0-py2.7.egg/pyreadline/modes/__init__.py", line 3, in <module> from . import emacs, notemacs, vi File "/usr/lib/python2.7/site-packages/pyreadline-2.0-py2.7.egg/pyreadline/modes/emacs.py", line 11, in <module> import pyreadline.logger as logger AttributeError: 'module' object has no attribute 'logger' If you suspect this is an IPython bug, please report it at: https://github.com/ipython/ipython/issues or send an email to the mailing list at ipython-dev@scipy.org You can print a more detailed traceback right now with "%tb", or use "%debug" to interactively debug it. Extra-detailed tracebacks for bug-reporting purposes can be enabled via: c.Application.verbose_crash=True
パッケージの依存関係がおかしくなったのか、とりあえずpyreadlineをいったん削除
$easy_install -mxN pyreadline Searching for pyreadline Best match: pyreadline 2.0 Processing pyreadline-2.0-py2.7.egg Removing pyreadline 2.0 from easy-install.pth file Using /usr/lib/python2.7/site-packages/pyreadline-2.0-py2.7.egg Because this distribution was installed --multi-version, before you can import modules from this package in an application, you will need to 'import pkg_resources' and then use a 'require()' call similar to one of these examples, in order to select the desired version: pkg_resources.require("pyreadline") # latest installed version pkg_resources.require("pyreadline==2.0") # this exact version pkg_resources.require("pyreadline>=2.0") # this version or higher
pipでpyreadlineを再インストールしようとしたら、pipも何故かエラーorz
Permission denied? root権限なんだけど..ヌーン
$pip
bash: /usr/bin/pip: /usr/bin/python2.6^M: bad interpreter: Permission denied
pipを再インストール
$easy_install pip Searching for pip Reading http://pypi.python.org/simple/pip/ Best match: pip 1.3.1 Downloading http://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz#md5=cbb27a191cebc58997c4da8513863153 Processing pip-1.3.1.tar.gz Writing /tmp/easy_install-wLYZ8D/pip-1.3.1/setup.cfg Running pip-1.3.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-wLYZ8D/pip-1.3.1/egg-dist-tmp-RBfaCK warning: no files found matching '*.html' under directory 'docs' warning: no previously-included files matching '*.txt' found under directory 'docs/_build' no previously-included directories found matching 'docs/_build/_sources' Adding pip 1.3.1 to easy-install.pth file Installing pip script to /usr/bin Installing pip-2.7 script to /usr/bin Installed /usr/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg Processing dependencies for pip Finished processing dependencies for pip
無事起動シタ!
$pip --version pip 1.3.1 from /usr/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg (python 2.7)
再度pyreadlineをインストール
$pip install pyreadline Requirement already satisfied (use --upgrade to upgrade): pyreadline in /usr/lib/python2.7/site-packages/pyreadline-2.0-py2.7.egg Cleaning up...
なんかすでにある的なことを言われたので、-mでもう一回削除したけどダメ
pipでuninstallを試みる
$pip uninstall pyreadline Uninstalling pyreadline: /usr/lib/python2.7/site-packages/pyreadline-2.0-py2.7.egg Proceed (y/n)? y Successfully uninstalled pyreadline
どうやら削除できたようなので、再度インストール
$pip install pyreadline Downloading/unpacking pyreadline Downloading pyreadline-2.0.zip (108kB): 108kB downloaded Running setup.py egg_info for package pyreadline package init file 'pyreadline/configuration/__init__.py' not found (or not a regular file) Installing collected packages: pyreadline Running setup.py install for pyreadline package init file 'pyreadline/configuration/__init__.py' not found (or not a regular file) Successfully installed pyreadline Cleaning up...
エラーでたけど..上手くいったのかな?
そしてipythonを起動
$ipython Python 2.7.3 (default, Dec 18 2012, 13:50:09) Type "copyright", "credits" or "license" for more information. IPython 0.13.2 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]:
起動デキター