Как УДАЛИТЬ каталоги из Python sys.path на уровне оболочки при использовании venvPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как УДАЛИТЬ каталоги из Python sys.path на уровне оболочки при использовании venv

Сообщение Anonymous »

У меня есть пакет Python в репозитории git. Мой код находится в папке src/.
У меня есть сценарий run.sh, gitignored, который выполняет за меня работу по активации virtualenv и запуск моего пакета с соответствующими аргументами.
Мой репозиторий git активно использует теги версий. Я хочу иметь возможность запускать «стабильную» версию вместе с версией, находящейся в разработке, без ада с git checkout.
Мне нужно иметь возможность запускать как стабильную, так и разрабатываемую версии в один и тот же рабочий каталог, поскольку им нужно использовать одну и ту же папку data/ (также gitignored).
Для этого мне нужен sys.path чтобы переодеться.
В частности, мне нужно удалить каталог src/ из sys.path (для стабильной работы).
Для этой цели я создал скрипт run-stable.sh, который выполняет извлечение и копирует исходные файлы в gitignored расположение (скажем, build/stable/):

Код: Выделить всё

#!/usr/bin/bash

cd ~/path/to/mypackage && . venv/bin/activate || exit 1

latest_stable=0.4.1
build_ver=(`cat build/stable.version 2>/dev/null`)
if [[ "$build_ver" != "$latest_stable" ]]
then
! { git diff --quiet && git diff --cached --quiet; } && echo "uncommitted files, cannot build" >&2 && exit 1
! git show-ref --tags v"$latest_stable" -q && echo "tag $latest_stable not found" >&2 && exit 1
[[ ! -d "build/stable" ]] && mkdir -p build/stable

dev_commit=(`git rev-parse HEAD`)
build_commit=(`git show-ref --tags v"$latest_stable"`)
git checkout "$build_commit"
cp -af src/mypackage build/stable/mypackage
git checkout "$dev_commit" # build/stable.version
fi
# My current attempt to change sys.path (failed) ---v
cat 

Подробнее здесь: [url]https://stackoverflow.com/questions/79260611/how-to-remove-directories-from-python-sys-path-at-shell-level-while-using-venv[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»