This repository has been archived by the owner on Sep 9, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
readme
138 lines (80 loc) · 2.96 KB
/
readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
django-env
**********
PROJECT IS DEAD, NOT MAINTAINED AT ALL.
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