Я использую Ma c OS X, и у меня две версии Python (3.6.11 и 3.8.5) установлены через pyenv. Глобальная версия python - 3.8.5, и у меня есть папка проекта myproject
, настроенная с pyenv local
, чтобы использовать вместо нее версию 3.6.11. Чтобы включить автоматическое c переключение между python версиями, я выполняю eval "$(pyenv init -)"
как в своих .bashrc
, так и .bash_profile
. Все это прекрасно работает, когда я использую эмулятор терминала Ma c. python --version
дает 3.6.11, когда я внутри myproject
и 3.8.5 где-то еще.
Однако, если я запускаю сервер jupyterlab (за пределами myproject
) и использую эмулятор терминала из jupyterlab версия python, которую я вижу, всегда 3.8.5, даже если я внутри myproject
. Даже если я вручную запустил eval "$(pyenv init -)"
в терминале jupyterlab, переключение все равно не работает.
EDIT: Я заметил, что переменная $PATH
, которую я вижу в терминале ОС Ma c, отличается от один в терминале jupyterlab. Первый -
/Users/wiebuschm/.local/opt/google-cloud-sdk/bin:/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/Users/wiebuschm/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
, второй -
/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/Users/wiebuschm/.pyenv/shims:/Users/wiebuschm/.pyenv/versions/3.8.5/bin:/usr/local/Cellar/pyenv/1.2.20/libexec:/Users/wiebuschm/.local/opt/google-cloud-sdk/bin:/usr/local/Cellar/pyenv-virtualenv/1.1.5/shims:/Users/wiebuschm/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
Однако я не знаю, что вызывает эту разницу, и даже если я вручную установил PATH
в терминале jupyterlab на будет таким же, как в терминале ОС Ma c, он по-прежнему не будет автоматически переключать версию Python, когда я перехожу в myproject
.