2017-02-09 3 views
2

У меня сложное время, обертывающее мою голову вокруг того, как использовать virtualenv и python3 вместе. Насколько я понимаю, virtualenv действует как операционная система в моей операционной системе Mac. Я установил virtualenv через терминал и могу активировать/деактивировать его успешно, но как мне использовать python3 с ним?Понимание virtualenv по отношению к python

Я понимаю оболочку python, я понимаю терминал, но после того, как я создал каталог my_projects для virtualenv, как я могу обеспечить, что я создаю что-то в virtualenv с помощью python?

Я не пользуюсь доморощенным или анакондой.

+0

Возможный дубликат [Использование Python 3 в virtualenv] (http://stackoverflow.com/questions/23842713/using-python-3-in-virtualenv) – alfasin

+0

«Как я понимаю, virtualenv действует как операционная система внутри операционной системы моего Mac "Нет. Он действует как * среда *, изолированная от рабочей среды. Виртуальная среда, вы можете сказать ... –

ответ

0

виртуальная среда будет изолирована от ОС python. Вы можете создать виртуальный env для каждого проекта. Например, проект projectA, вы можете создать venv внутри projectA как:

cd projectA 
virtualenv -p /usr/bin/python3.5 venv-name-A 

При установке каких-либо пакетов для Projecta, вы делаете: /path/to/venv-name-A/bin/pip install <pkg-name>

При запуске Projecta, вы делаете: /path/to/venv-name-A/bin/python projectA-file.py

Вы можете создать как можно больше венков. Вы можете установить любые пакеты на любые envs, не нарушая при этом python операционной системы.

+0

Спасибо, Хайфэн. Сейчас я боюсь, потому что путь, который был установлен моим проектом, немного отличается от вашего. Моя внешность выглядит как:/Пользователи/Главная/Рабочий стол/Python_practice/Lamba/myproject. Из каталога myproject я ввел virtualenv venv. Первоначально я установил виртуальную среду в неправильном месте? – basiclanguage

+0

@basiclanguage независимо от того, где вы храните venv, он изолирован от вашего python операционной системы, и вы знаете, что установленные пакеты предназначены для конкретного проекта :) – haifzhan

+0

Хорошо, какая разница между этими двумя: python3 -m pip install virtualenv & virtualenv -p /usr/bin/python3.5 venv-name-A? – basiclanguage

1

Виртуальная среда - это инструмент для поддержания зависимостей , требуемых различными проектами в отдельных местах, путем создания для них виртуальных сред Python.

Решает проблему дилемма “Project X depends on version 1.x but, Project Y needs 4.x” и сохраняет ваш глобальный каталог сайтов-пакетов чистым и управляемым.

Например, вы можете работать над проектом, который требует Django 1.10, а также поддерживает проект, который требует Django 1.8.

Для лучшего понимания см. Это Python Guide.