Моя любимая среда питон Developement является:Tmux разделить окно и активировать питон virtualenv
- Один большой левый сковорода для Vim
- Два маленьких кастрюль справа для интерактивных консолей
Каждый пан shoud запускает python virtualenv (используя virtualenvwrapper). Так вот список команд, которые я должен ввести для настройки моего окружения:
➜ ~ workon some_env
➜ ~ tmux splitw -h -l90
➜ ~ workon some_env
➜ ~ tmux splitw -v -p50
➜ ~ workon some_env
Ввод этих команд в сценарии и снабжаем файл будет, к сожалению, запустить workon some_env
три раза на той же сковороде, а не один раз на каждом поддоне.
Довольно просто, но довольно скучно печатать каждый раз, когда я хочу настроить рабочую среду.
я связан ярлык, чтобы разделить окно correcty:
bind a source-file ~/.config/tmux/dev-session
Этот файл dev-session
содержит:
splitw -h -l90
splitw -v -p50
Однако, я не могу автоматически запускать workon some_env
на каждом поддоне. Я всячески менял проблему, я просто не могу заставить ее работать.
splitw "workon some_env"
# Exits immediately as `workon` function terminates
splitw "echo 'workon some_env' | source /dev/stdin"
# Exits immediately as `source` terminates
splitw "workon_args=some_env zsh -f .some_custom_zshrc"
# Where .some_custom_zshrc contains:
# workon $workon_args
# Does not work since running `workon some_env` from a script
# has no effect on the script caller
splitw "zsh -c 'workon some_env' -i"
# `workon some_env` seems to be executed in a separate environment
# and the virtualenv is no more activated within the interactive shell
Я пробовал еще более экзотические вещи, но здесь я застрял.