Локальная функциональность pyenv не работает в терминале jupyterlab - PullRequest
0 голосов
/ 07 августа 2020

Я использую 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.

...