Skip to main content

Automaticly manages virtualenv for django project

Project description

django-env

Installation

Warning: You have to consider where to place this package because it has to

be importable “outside” your project. Probably best place for it exists in project directory (or your “lib” directory) or in system- wide packages’ place.

Simplest way is to do (system-wide):

pip install django-env

or using archive

tar xf django-env* cd django-env* python setup.py install

or place installed egg in project’s directory.

Configuration

Firstly, you have some options in settings.py:

Settings.py

You can set number of settings:

env.settings.DJANGO_ENV_CREATE_AUTOUPDATE = False

When doing env_create, should be run env_update after it.

env.settings.DJANGO_ENV_CREATE_SITEPACKAGES = False

When doing env_create, should it connect global site- packages.

env.settings.DJANGO_ENV_NAME = ‘py_env’

Directory’s name of virtualenv. If the name is relative name it is appended to project’s path, if the name is absolute name (starts with /), is is set as is for virtualenv’s directory.

env.settings.DJANGO_ENV_UPDATE_PIP_ARGUMENTS = []

During env_update it is used pip for installing packages, you can add here additional arguments like -i or -f. -U can be set dynamicaly by adding –upgrade to env_update.

env.settings.DJANGO_ENV_UPDATE_REQUIREMENTS = ‘requirements.pip’

Name of file with requirements. If this path is relative is appended to project’s path, else it is set as absolute.

Note: Project’s directory is the same where manage.py and settings.py

lives.

INSTALLED_APPS

Note: It is just cosmetic change to display command in manage.py help.

Add env to INSTALLED_APPS:

INSTALLED_APPS += (‘env’, )

project setup

How to activate the environment? Example:

import env

I suggest to place it in manage.py at the top.

How it works?

It just grab control from manage.py (if you import it) and check the argument line. If you passed one of django-env commands, it do what is needed and exit; else it pass control to manage.py to parse other args.

Usage

Target of this project is automating in creating project environment.

This app gives you some additional manage.py commands:

env_create [–force]

create environment (and optionally do env_update - it depends on DJANGO_ENV_AUTOUPDATE variable in settings.py)

env_update [–upgrade]

install packages from DJANGO_ENV_REQUIREMENTS file to current environment via pip install -r, or if you provide –upgrade it runs pip install -U -r.

You can pass other arguments to pip, see settings.py.

env_remove

simply deletes environments directory.

TODO

  • py_env/last_update - show last update date - monitoring feature

Changes

0.2

  • easier setup

  • added several options to ‘settings.py’

  • it should work!

0.1 - init

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-env-0.2.1.tar.gz (13.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page