ipython for python3.2 WindowsXP

Вот, задался целью всё-таки забороть ipython для Python 3.2, и получилось :)

Делал примерно так:

1.1. Поставил Python3.2: python-3.2.1.msi
1.2. Пропишите пути к новому питону

  1. distribute_setup.py : http://python-distribute.org/distribute_setup.py
    это для того чтобы заработал easy_install
  2. Дальше
    easy_install http://archive.ipython.org/release/0.11/py3/ipython-0.11-py3.2.egg
    ставится ipython к папке c:/python32/Scripts тоже хорошо бы переменную path виндовса поправить

  3. Запускаем ipython3.exe в папке Scripts и ловим эксепшн, у меня во всяком случае было так:

 c:\Python32\Scripts>ipython3.exe
 Error in sys.excepthook:
 TypeError: _isdir() takes exactly 1 argument (0 given)

 Original exception was:
 Traceback (most recent call last):
 File "c:\Python32\Scripts\ipython3-script.py", line 9, in 
 load_entry_point('ipython==0.11', 'console_scripts', 'ipython3')()
 File "c:\Python32\lib\site-packages\ipython-0.11-py3.2.egg\IPython\frontend\te
rminal\ipapp.py", line 369, in launch_new_instance
 app.initialize()
 File "c:\Python32\lib\site-packages\ipython-0.11-py3.2.egg\IPython\frontend\te
rminal\ipapp.py", line 283, in initialize
 self.init_shell()
 File "c:\Python32\lib\site-packages\ipython-0.11-py3.2.egg\IPython\frontend\te
rminal\ipapp.py", line 303, in init_shell
 ipython_dir=self.ipython_dir)
 File "c:\Python32\lib\site-packages\ipython-0.11-py3.2.egg\IPython\config\conf
igurable.py", line 295, in instance
 inst = cls(*args, **kwargs)
 File "c:\Python32\lib\site-packages\ipython-0.11-py3.2.egg\IPython\frontend\te
rminal\interactiveshell.py", line 112, in __init__
 user_global_ns=user_global_ns, custom_exceptions=custom_exceptions
 File "c:\Python32\lib\site-packages\ipython-0.11-py3.2.egg\IPython\core\intera
ctiveshell.py", line 384, in __init__
 self.db = PickleShareDB(os.path.join(self.profile_dir.location, 'db'))
 File "c:\Python32\lib\site-packages\ipython-0.11-py3.2.egg\IPython\utils\pickl
eshare.py", line 52, in __init__
 if not self.root.isdir():
TypeError: _isdir() takes exactly 1 argument (0 given)

c:\Python32\Scripts>

Решил я это так В файле "c:\Python32\lib\site-packages\ipython-0.11-py3.2.egg\IPython\utils\pickleshare.py"
В 52 строке закомментировал
#if not self.root.isdir():
И 53-ей строкой написал следующее
if not os.path.isdir(self.root):

Заработало, что не может не радовать. Единственное pyreadline ещё похоже нужно замучить


Anshik в разное Вт. 29 Май 2012. Tags: python,


© Anshik 2012-2015