LINUX.ORG.RU

mkvirtualenv; workon в отдельной вкладке терминала.

 , ,


0

1

Как запустить команды указанные в заголовке в xfce терминале? что пытался:

bash --rcfile <(cat ${HOME}/.bashrc; echo 'export PROMPT_COMMAND="mkvirtualenv my_env; unset PROMPT_COMMAND"') -i
команда выше работает, но как ее заставить стартовать с:
xfce4-terminal -H --tab -T cso -e "${cmd}"

vodz



Последнее исправление: bikes (всего исправлений: 1)

А первую строку кто придумал? Ведь опция --rcfile требует имя файла для стартовых команд, то есть у вас будет пытаться найти "-i" как файл. Если вам надо специфический rc-файл, то и создайте его и укажите. С установкой промта и тут же его unset тоже непонятно что вы этим пытаетесь сделать. Однократный вызов? А зачем так сложно? Какое-то всё извращение.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от vodz

Первая строчка взята отсюда: https://stackoverflow.com/questions/31524527/using-python-virtual-environment...

А зачем так сложно?

А проще не работает. Т.е. просто команды mkvirtualenv не запускаются. Надо передавать переменные окружения.

bikes
() автор топика
Ответ на: комментарий от bikes

Ну так я и предлагаю сделать .bashrc_xfce и вызывать как bash --rcfile .bashrc_xfce, где можно и вызвать через точку . .bashrc и потом уже . mkvirtualenv

vodz ★★★★★
()
Ответ на: комментарий от bikes

вот так запускается, но после того как команда отработала. Нет приглашения (env_test)

cmd="'export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 ; export WORKON_HOME=~/.virtualenvs ; source `which virtualenvwrapper.sh` ; mkvirtualenv env_test ; bash'"
xfce4-terminal -H --tab -T ${env_name} -e "bash -c ${cmd}"

bikes
() автор топика
Ответ на: комментарий от bikes

Я вам предлагал внести mkvirtualenv в .bashrc_xfce, вызывая через точку. Если не находит, то явно с путями надо разобраться. Ваш последний пример вообще не перейдёт в интерактив.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от vodz

запустил, добавил еще в .bashrc_xfce

if [ -f /usr/local/bin/virtualenvwrapper.sh ] ; then
    export WORKON_HOME=~/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
    source /usr/local/bin/virtualenvwrapper.sh
fi
только не понял как все таки правильно запускать, сейчас это делаю так
xfce4-terminal -H --tab -T $1 -e "bash --rcfile ${HOME}/.bashrc_xfce -ci 'mkvirtualenv ${1}';bash"
И заметил что ему пофиг на ${1}: 'mkvirtualenv ${1}' , он запускает команду из .bashrc_xfce - которая в export PROMPT_COMMAND=«mkvirtualenv my_env» .

bikes
() автор топика
Ответ на: комментарий от bikes

он запускает команду из .bashrc_xfce - которая в export PROMPT_COMMAND

Не совсем понял, особенно почему нельзя добавить в .basrc_xfce таки вызов mkvirtualenv my_env в конце и вызывать без -c , все env у вас уже есть для его работы.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.