Установка ipython в virtualenv

Для своих проектов я давно уже использую virtualenv. Последнее время приходится много разбираться в чужом коде. Часто выручает Python shell и pdb (дебагер). Захотелось более комфортной работы. Решил установить в свои проекты iPython.

Установка

Как любой пакет iPython в virtualenv устанавливаем при помощи pip. У меня этим занимается специальный скрипт, в котором это делает примерно такая строчка:

1 pip install packages/ipython-0.13.1.tar.gz

  

Конфигурируем iPython

Сначала в домашнем каталоге создаем директорию для конфигурационных файлов iPython.

1 mkdir ~/.ipython

  

Затем создаем файл ~/.ipython/virtualenv.py

 1 import site
 2 from os import environ
 3 from os.path import join
 4 from sys import version_info
 5 
 6 if 'VIRTUAL_ENV' in environ:
 7     virtual_env = join(environ.get('VIRTUAL_ENV'),
 8                        'lib',
 9                        'python%d.%d' % version_info[:2],
10                        'site-packages')
11     site.addsitedir(virtual_env)
12     print 'VIRTUAL_ENV ->', virtual_env
13     del virtual_env
14 del site, environ, join, version_info

  

И файл ~/.ipython/ipy_user_conf.py

1 def main():
2   execf('~/.ipython/virtualenv.py')

  

Все, теперь можно запускать iPython и он будет работать в виртуальном окружении. Начать сессию можно так:

1 cd /your/project/root
2 source /bin/activate
3 ipython

  

Подключаем дебаггер из iPython

Чтобы жизнь была еще более кучерявой, сконфигурируем запуск дебаггера iPython

Устанавливаем в виртуальное окружение пакет ipdb, опять при помощи pip:

1 pip install packages/ipdb-0.7.tar.gz

  

Теперь, запустив виртуальное окружение, можно запускать дебаггер командой, вставленной в нужное место кода:

1 import ipdb ipdb.set_trace()

  

В сеансе дебаггера можно наслаждаться раскраской синтаксиса кода и дополнением по табу.

Опубликовано: March 27, 2013

Комментарии:


Комментировать:

Имя:

Комментарий: