Ответ, предоставленный Гонсало, поставил меня на правильный путь: использовать виртуальные среды для управления двумя разными сборками.Я создал виртуальную среду для основной (стабильной) ветви с:
$ cd my_package
$ virtualenv venv # make the virtual environment
$ source venv/bin/activate
(venv) $ pip install -r requirements.txt # install everything listed as a requirement
(venv) $ pip install -e . # install my_package dynamicially so that any changes are visible right away
(venv) $ sudo venv/bin/python -m ipykernel install --name 'master' --display-name 'Python 3 (default)'
И для ветви разработки я выполнил ту же процедуру в своей папке my_package_dev
, присвоив ей другие --name
и --display-name
значение.
Обратите внимание, что мне нужно было использовать sudo
для последней команды ipykernel install
, потому что я продолжал получать ошибки об отказе в разрешении в моей системе.Я бы порекомендовал сначала попробовать без sudo
, но для этой системы ее необходимо было установить для всей системы.
Наконец, чтобы переключаться между версиями инструментов, которые я использую, мне просто нужно выбрать Kernel -> Change kernel
и выберите Python 3 (default)
или Python 3 (develop)
.Импорт остается прежним (import my_package
), поэтому ничего в записной книжке не должно меняться.
Это не совсем мой идеальный сценарий, так как это означает, что мне тогда придется повторно- запускать весь ноутбук каждый раз, когда я меняю ядра, но это работает!