python3 venv видит пакеты из python2 - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть Python2.7 и Python 3.7, установленные бок о бок.Когда я создаю venv в проекте Python3.7, он «видит» глобальные пакеты Python2.7, то есть: я запускаю проект фляги без установки чего-либо (даже фляги), и он работает, потому что присутствуют все необходимые пакетыв установке 2.7.

Когда я запускаю python -v в venv, я получаю 3.7, но когда я запускаю flask --version, я получаю:

Flask 0.12.2
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)]

РЕДАКТИРОВАТЬ: Я обнаружил, что у меня есть c:\Python27 в моем PATH, если я удаляю все это работает как ожидалось.Но другие вещи ломаются для меня.Есть ли способ удалить Python27 из пути только при активации виртуального env?

РЕДАКТИРОВАТЬ: Это мой pyvenv.cfg:

home = c:\Python37
include-system-site-packages = false
version = 3.7.2

Как мнеполностью отделить вену от остального моего окружения?

Спасибо

1 Ответ

0 голосов
/ 10 февраля 2019

Вся идея виртуальной среды заключается в том, что это новая рабочая среда без установленных библиотек pip.
Если вы активируете свою виртуальную среду, вы не должны видеть никаких установленных пакетов, если вы не устанавливаете их явно.
Несколько предложений:
1. Попробуйте удалить флешку из глобального пакета python2.7 и посмотрите, что произойдет.
2. Повторите то же самое с python3.7.
3. Убедитесь, что у вас разные псевдонимы для python2.7и python3.7, и используют правильный псевдоним для создания поставщика.

...