Я создал среду conda, и в этой среде я установил инструмент под названием минибаркодер, который был разработан кем-то другим, кроме меня. https://github.com/asrivathsan/miniBarcoder
Инструмент в основном представляет собой набор скриптов (python или shell). Чтобы упростить его использование, я переместил все скрипты инструмента в папку bin среды conda.
Однако сценарии miniBarcoder в папке bin зависят от набора других сценариев, расположенных в папке scripts
. Я также переместил эту папку в папку bin.
Папка scripts
содержит несколько сценариев, которые я хочу добавить в переменную $PATH
при использовании среды, и когда я закрываю среду, я хочу удалить эти сценарии из переменной PATH при деактивации среды.
В соответствии с инструкциями руководства conda
(https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux)
Я могу добавить папку сценариев в мой PATH, используя файл среды, который находится в папке:
/ работа / проекты / nn9305k / SRC / Анаконда / envs / minibarcoder / и т.д. / Конда / activate.d
файл env_vars.sh
содержит:
#!/bin/sh
#add scripts folder to PATH
export PATH=$PATH:/work/projects/nn9305k/src/anaconda/envs/minibarcoder/bin/scripts
При активации среды это папка добавляется в переменную PATH.
Теперь моя проблема заключается в том, как удалить эту папку из переменной PATH, когда я деактивирую среду.
Для этого я создаю файл env_vars.sh
в папке:
/ работа / проекты / nn9305k / SRC / Анаконда / envs / minibarcoder / и т.д. / Конда / deactivate.d
Я пробовал следующее:
#!/bin/sh
#remove scripts from PATH
export PATH=$(echo ${PATH%:/work/projects/nn9305k/src/anaconda/envs/minibarcoder/bin/scripts
Это не удаляет каталог из переменной PATH, но когда я запускаю эту команду в командной строке, я удаляю ее из переменной PATH. Почему это не работает в моем файле env_vars.sh.?
Любые подсказки приветствуются