Запустите две разные версии пакета Python внутри virtualenv рядом друг с другом из двух разных сценариев Bash.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Запустите две разные версии пакета Python внутри virtualenv рядом друг с другом из двух разных сценариев Bash.

Сообщение Anonymous »

У меня есть пакет Python в репозитории Git. Мой код находится в папке src/.
У меня есть сценарий run.sh, gitignored, который выполняет за меня работу по активации virtualenv и запуск моего пакета с соответствующими аргументами.
Мой репозиторий Git активно использует теги версий. Я хочу иметь возможность запускать «стабильную» версию вместе с версией, находящейся в разработке, без адской проверки Git.
Мне нужно иметь возможность запускать как стабильную, так и разрабатываемую версии в один и тот же рабочий каталог, поскольку им нужно использовать одну и ту же папку 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/run-two-different-versions-of-a-python-package-inside-virtualenv-alongside-each[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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