Какова связь между средами и проектами в virtualenvwrapper?
Другими словами, какая разница между mkvirtualenv
и mkproject
?
У меня есть рабочий процесс, который выглядит так:
/dev projectA appA appB projectB appA appB
Все приложения имеют некоторые ресурсы (например, юг, pep8 и т. Д.), Но другие ресурсы относятся к каждому приложению. Должен ли я использовать virtualenvwrapper «проекты», чтобы разделить эти зависимости?
- Как обновить зависимость в проекте Python на Heroku
- Как удалить PIL для python 2.7 и вместо этого использовать Pillow?
- Не удалось установить пакетный пакет на MacOSX, используя pip
- Нет модуля под названием «psycopg2»
- Установка библиотеки для ноутбука jupyter
Из моего понимания документации mkvirtualenv projectenv
просто создает новую виртуальную среду с именем projectenv
в $WORKON_HOME
, а mkproject projectenv
создает новую виртуальную среду с именем projectenv
и новый каталог с именем projectenv
; после создания каталог projectenv
автоматически становится вашим текущим рабочим каталогом. Виртуальная среда будет существовать в $WORKON_HOME
а каталог разработки существует в $PROJECT_HOME
.
Обратите внимание, что для mkproject
работы mkproject
вы должны сначала установить переменную среды PROJECT_HOME
в имя каталога, в котором вы хотите, чтобы проекты были созданы. Вы можете сделать это в том же месте, где вы $WORKON_HOME
переменную $WORKON_HOME
или настроить ее на лету, например
export PROJECT_HOME=$HOME/src/allprojects mkproject mynewproject
mynewproject
теперь будет вашей текущей виртуальной средой, и новый каталог mynewproject
будет существовать в ~/src/allprojects
.
mkvirtualenv – это команда virtualenvwrapper, которая упрощает управление виртуальными виртуальными машинами python, а mkproject – из плагина virtualenvwrapper для управления вашими проектами (которые были интегрированы непосредственно в virtualenvwrapper)
на странице плагина упоминаются следующие функции:
Управляет вашими проектами работы с проектами вместе с вашими виртуальными средами. Определяет API для создания шаблонов для быстрого создания новых сред. Используйте команду workon от virtualenvwrapper для переключения между проектами. Пользовательские переключатели для настройки новых проектов.
Вам не нужно создавать или управлять своими проектами с помощью плагина virtualenvwrapper, чтобы использовать команды virtualenv. Это просто удобный плагин для таких вещей, как замена каталога проекта при выпуске команды workon или создание новых проектов из шаблонов.
virtualenv для себя не имеет возможности обмена библиотекой, за исключением системных сайтов-пакетов, если вы используете правильный флаг. Я наткнулся однажды на проект, который дал вам эту способность, помимо всего прочего, но так и не нашел его снова.
EDIT: virtualenvwrapper теперь имеет функции для копирования virtualenvs и добавления каталогов в вашу виртуальную PATH для обмена библиотеками .
- Причина низких рейтингов Pylint стандартного кода библиотеки Python
- Должен ли я использовать np.absolute или np.abs?
- Развертывание Django / Python 3.4 для Heroku
- Поддержание различных файлов требований для virtualenv и pip
- pip install mysql-python / mysqlclient возвращает ошибку индекса
- pip с завершением оболочки
- Обновление Windows 10 и pip – доступ запрещен
- pip неожиданно не устанавливает последнюю версию git-пакета с фиксацией ветки / фиксации
- Python: программный запуск списка «pip»
- Установка пипа для обоих питонов
- Ошибка при установке bcrypt with pip в OS X: не удается найти ffi.h (установлен libffi)