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 details)

Uploaded Source

File details

Details for the file django-env-0.2.1.tar.gz.

File metadata

  • Download URL: django-env-0.2.1.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for django-env-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b1628892a2819a0c143ed058b0d22c315beef72dc7fbf262b35c13c5d04b441c
MD5 e55faa5c3b86285894043438d7510537
BLAKE2b-256 58b9b333886b8b004b3d8cc14006e3c9c16d035796f189254c8936202ef9f5bb

See more details on using hashes here.

Supported by

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