Проблемы с pyenv-virtualenv: Python и PIP не изменяются при активации / деактивации виртуальной среды - PullRequest
0 голосов
/ 13 февраля 2020

Я установил pyenv-virtualenv с помощью Linuxbrew (Homebrew 2.2.5) на моем Ubuntu 16.04 VPS. Версия pyenv: 1.2.16. Теперь, когда я делаю такой тест:

pyenv install 3.8.1
pyenv virtualenv 3.8.1 test
cd /.pyenv/versions/3.8.1/envs/test
pyenv local 3.8.1

Тогда вход / выход из /.pyenv/versions/3.8.1/envs/test не активирует деактивацию виртуальной среды, и я не вижу (test) username:~ в своей оболочке. Я также создал каталог /home/users/test и .python-version там, но все еще вход / выход из каталога ничего не делает.

В соответствии с документацией :

Если eval «$ (pyenv virtualenv-init -)» настроен в вашей оболочке, pyenv-virtualenv автоматически активирует / деактивирует virtualenvs при входе / выходе из каталогов, которые содержат файл. python -version, который содержит имя допустимой виртуальной среды как показано в выводе pyenv virtualenvs (например, venv34 или 3.4.3 / envs / venv34 в примере выше). . python -version файлы используются pyenv для обозначения локальных Python версий и могут быть созданы и удалены с помощью локальной команды pyenv.

Итак, первый вопрос: почему это не работает? Почему виртуальная среда не активируется / деактивируется автоматически при входе / выходе из каталога, содержащего файл .python-version?

Также, когда я активирую virtualenv вручную pyenv activate test, а затем проверяю версию Python, она печатает версию системы Python, а не версию из среды: Python 3.8.1:

python --version
Python 3.7.6

Я могу получить правильную Python версию, только напрямую обращаясь к шимам virtualenv Python следующим образом:

which python
/home/andre/.pyenv/shims/python
/home/andre/.pyenv/shims/python --version
Python 3.8.1

Поведение одинаково, когда активируется "тест" virtualenv или нет. Я ожидаю, что после активации «test» команда python --version возвращает Python 3.8.1

Итак, второй вопрос: почему pip и python не переключаются при активации / деактивации виртуальной среды?

Это ошибки pyenv? Или я что-то не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...