У меня установлен pyenv в обновленном тестовом выпуске Debian, и в нем есть python 2.7.1.
Я создаю virtualenv для проекта с этой версией, но при активации он дает мне версию системы python (3.7).
Вот что я сделал:
$ pyenv virtualenv 2.7.16 my_project-2.7
Requirement already satisfied: virtualenv in /home/user/.local/lib/python2.7/site-packages (15.1.0)
You are using pip version 18.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Using base prefix '/usr'
New python executable in /home/user/.pyenv/versions/2.7.16/envs/my_project-2.7/bin/python
Installing setuptools, pip, wheel...
done.
Installing pip from https://bootstrap.pypa.io/get-pip.py...
Collecting pip
Using cached https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 19.1.1
Uninstalling pip-19.1.1:
Successfully uninstalled pip-19.1.1
Successfully installed pip-19.1.1
$ pyenv activate my_project-2.7
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
$ python --version
Python 3.7.3
$ pip --version
pip 19.1.1 from /home/user/.pyenv/versions/2.7.16/envs/my_project-2.7/lib/python3.7/site-packages/pip (python 3.7)
Странно. Virtualenv правильно установлен в ~ / .pyenv / version / 2.7.16, но я вижу, что пипы приходят из /home/user/.pyenv/versions/2.7.16/envs/my_project-2.7/lib/python3.7 /
Я думаю, что что-то пропустил, или у меня может быть какой-то беспорядок в моей установке python, но я не могу узнать, что здесь делает эта библиотека python3.7.
Как мне создать этот virtualenv для python2.7?
Редактировать
Я попытался полностью удалить pyenv (удаление каталога $ (корневой каталог pyenv)), затем переустановить его с помощью pyenv-installer, но это ничего не изменило.
Я создал два virtualenvs для двух моих проектов (вышеупомянутые 2.7 и один в 3.5).
$ pyenv virtualenvs
2.7.16 / envs / my_project-2.7 (создан из / usr)
3.6.8 / envs / other_project-3.6 (создан из /home/user/.pyenv/versions/3.6.8)
my_project-2.7 (создан из / usr)
other_project-3.6 (создан из /home/user/.pyenv/versions/3.6.8)
Я думаю, что проблема может быть найдена из этого , созданного из / usr , но я не понимаю, что это значит. Почему этот virtualenv не был создан из версии pyenv python? Это вообще актуально?
Кажется, что когда я создаю 3. + виртуальную среду, используется venv . Но на 2.7 virtualenv используется и не работает.