зеркало из https://github.com/mozilla/FlightDeck.git
installation process with virtualenv and pip
This commit is contained in:
Родитель
564c3eabd0
Коммит
930d6e35d2
85
INSTALL
85
INSTALL
|
@ -1,10 +1,79 @@
|
||||||
FlightDeck is deployed using Fabric (http://www.fabfile.org)
|
####################
|
||||||
Install it on your development system
|
First Installation
|
||||||
|
|
||||||
All *_local-default* files are shared over the version control system.
|
Virtualenv is providing a stable environment for Django
|
||||||
These should be copied to corresponding *_local* files and edited to suit the running
|
Installation of VirtualEnv under Ubuntu is described in detail in this post:
|
||||||
operating system.
|
http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/
|
||||||
$ cp settings_local-default.py settings_local.py
|
|
||||||
$ # change database settings
|
|
||||||
|
|
||||||
A bash script automating above is in the scripts directory
|
Assuming Python 2.5+ is already installed it should be enough to follow these
|
||||||
|
steps (some commands are specific to Ubuntu with Bash):
|
||||||
|
|
||||||
|
1. Install python-setuptools python-dev build-essential
|
||||||
|
$ sudo apt-get install python-setuptools python-dev build-essential
|
||||||
|
|
||||||
|
2. Install Pip and VirtualEnv
|
||||||
|
$ sudo easy_install -U pip
|
||||||
|
$ sudo pip install -U virtualenv
|
||||||
|
|
||||||
|
3. Create directory for Python environments
|
||||||
|
$ sudo mkdir /srv; sudo mkdir /srv/python-environments
|
||||||
|
$ cd /srv/python-environments
|
||||||
|
$ sudo virtualenv --no-site-packages flightdeck
|
||||||
|
|
||||||
|
4. Clear PYTHONPATH (could be optional, but it's working for me)
|
||||||
|
$ export PYTHONPATH=
|
||||||
|
|
||||||
|
5. Install from requirements.txt (#XXX: This is untested due to not accesible server)
|
||||||
|
$ sudo pip install -E flightdeck/ -r /path/to/projects/FlightDeck/pip-requirements.txt
|
||||||
|
|
||||||
|
6. Check if everything is working
|
||||||
|
* activate flightdeck environment
|
||||||
|
$ source flightdeck/bin/activate
|
||||||
|
the PS1 may change (regarding on the settings) to
|
||||||
|
(flightdeck)zalun@localhost $
|
||||||
|
* display the Django version
|
||||||
|
$ django-admin.py --version
|
||||||
|
1.1.1
|
||||||
|
* check if the same as in requirements file
|
||||||
|
$ grep Django /path/to/projects/FlightDeck/pip-requirements.txt
|
||||||
|
Django==1.1.1
|
||||||
|
* display list of packages
|
||||||
|
$ yolk -l
|
||||||
|
Django - 1.1.1 - active
|
||||||
|
Python - 2.6.4 - active development (/usr/lib/python2.6/lib-dynload)
|
||||||
|
pip - 0.6.2 - active
|
||||||
|
setuptools - 0.6c11 - active
|
||||||
|
wsgiref - 0.1.2 - active development (/usr/lib/python2.6)
|
||||||
|
yolk - 0.4.1 - active
|
||||||
|
* Check if contains everything from requirements file in the right version plus
|
||||||
|
Python, pip and setuptools
|
||||||
|
$ cat /path/to/projects/FlightDeck/pip-requirements.txt
|
||||||
|
Django==1.1.1
|
||||||
|
wsgiref==0.1.2
|
||||||
|
yolk==0.4.1
|
||||||
|
|
||||||
|
7. Clone FlightDeck from github
|
||||||
|
$ cd /path/to/projects/
|
||||||
|
$ git clone git@github.com:zalun/FlightDeck.git
|
||||||
|
$ git remote add zalun git@github.com:zalun/FlightDeck.git
|
||||||
|
|
||||||
|
8. Configure the Django application
|
||||||
|
$ chmod a+x scripts/*sh
|
||||||
|
$ ./scripts/install.sh
|
||||||
|
$ vi flightdeck/settings_local.py # **
|
||||||
|
|
||||||
|
9. Initiate database*
|
||||||
|
$ ./scripts/syncdb.sh
|
||||||
|
|
||||||
|
9. Run Server*
|
||||||
|
$ ./scripts/runserver.sh
|
||||||
|
FlightDeck may be accessed by loading http://127.0.0.1:8090/
|
||||||
|
|
||||||
|
----
|
||||||
|
* Scripts assume one has installed the FlightDeck environment in
|
||||||
|
/srv/python-envirenments/flightdeck/ if it is a different one
|
||||||
|
please edit the scripts/config_local.sh
|
||||||
|
|
||||||
|
** No *_local.py file should be shared between users, they contain
|
||||||
|
informations relevant only to the local installation of FlightDeck.
|
||||||
|
The exclude file is provided by default.
|
||||||
|
|
25
README
25
README
|
@ -11,18 +11,29 @@ Uses following third-party software:
|
||||||
* Mootools (http://mootools.net/) [MIT]
|
* Mootools (http://mootools.net/) [MIT]
|
||||||
|
|
||||||
Directory structure:
|
Directory structure:
|
||||||
|
.
|
||||||
|-- INSTALL
|
|-- INSTALL
|
||||||
|-- README
|
|-- README
|
||||||
|-- flightdeck # FlightDeck django project contains settings and basic urls
|
|-- apache
|
||||||
|
| `-- config_local-default.wsgi
|
||||||
|
|-- dev.db
|
||||||
|
|-- flightdeck
|
||||||
|
| |-- __init__.py
|
||||||
| |-- fabfile_local-default.py
|
| |-- fabfile_local-default.py
|
||||||
| |-- flightdeck_local-default.wsgi
|
|
||||||
| |-- manage.py
|
| |-- manage.py
|
||||||
| |-- requirements.txt
|
|
||||||
| |-- settings.py
|
| |-- settings.py
|
||||||
| |-- settings_local-default.py
|
| |-- settings_local-default.py
|
||||||
|
| |-- settings_local.py
|
||||||
| `-- urls.py
|
| `-- urls.py
|
||||||
`-- scripts # directory containing usable scripts to develop FlightDeck
|
|-- logs
|
||||||
|-- install.sh
|
|-- pip-requirements.txt
|
||||||
|-- runserver.sh
|
|-- scripts
|
||||||
`-- syncdb.sh
|
| |-- config_local-default.sh
|
||||||
|
| |-- environment.sh
|
||||||
|
| |-- install.sh
|
||||||
|
| |-- runserver.sh
|
||||||
|
| `-- syncdb.sh
|
||||||
|
`-- tools
|
||||||
|
`-- git-exclude
|
||||||
|
|
||||||
|
5 directories, 25 files
|
||||||
|
|
|
@ -2,8 +2,8 @@ ADMINS = (
|
||||||
# ('Your Name', 'your_email@domain.com'),
|
# ('Your Name', 'your_email@domain.com'),
|
||||||
)
|
)
|
||||||
|
|
||||||
DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
|
DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
|
||||||
DATABASE_NAME = '' # Or path to database file if using sqlite3.
|
DATABASE_NAME = '../dev.db' # Or path to database file if using sqlite3.
|
||||||
DATABASE_USER = '' # Not used with sqlite3.
|
DATABASE_USER = '' # Not used with sqlite3.
|
||||||
DATABASE_PASSWORD = '' # Not used with sqlite3.
|
DATABASE_PASSWORD = '' # Not used with sqlite3.
|
||||||
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
|
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
Django==1.1.1
|
||||||
|
wsgiref==0.1.2
|
||||||
|
yolk==0.4.1
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# define directories
|
||||||
|
PYTHON_ENVIRONMENTS_DIR='/srv/python-environments/'
|
||||||
|
PYTHON_ENVIRONMENT='flightdeck'
|
||||||
|
PROJECT_DIR=`pwd`
|
||||||
|
PYTHON_COMMAND='python'
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# activate Python flightdeck environment
|
||||||
|
cd $PYTHON_ENVIRONMENTS_DIR
|
||||||
|
source $PYTHON_ENVIRONMENT/bin/activate
|
||||||
|
|
||||||
|
# set path to the project direcotry
|
||||||
|
PYTHONPATH=$PROJECT_DIR:$PYTHONPATH
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# copy configuration files to local
|
||||||
|
for loc in flightdeck/*_local-default.py
|
||||||
|
do
|
||||||
|
cp $loc flightdeck/`basename $loc "-default.py"`.py
|
||||||
|
echo $loc "->" flightdeck/`basename $loc "-default.py"`.py
|
||||||
|
done
|
||||||
|
|
||||||
|
for wsgi in apache/*_local-default.wsgi
|
||||||
|
do
|
||||||
|
cp $wsgi apache/`basename $wsgi "-default.wsgi"`.wsgi
|
||||||
|
echo $wsgi "->" apache/`basename $wsgi "-default.wsgi"`.wsgi
|
||||||
|
done
|
||||||
|
|
||||||
|
for sh in scripts/*_local-default.sh
|
||||||
|
do
|
||||||
|
cp $sh scripts/`basename $sh "-default.sh"`.sh
|
||||||
|
echo $sh "->" scripts/`basename $sh "-default.sh"`.sh
|
||||||
|
done
|
||||||
|
|
||||||
|
# force exclude local files
|
||||||
|
cp tools/git-exclude .git/info/exclude
|
||||||
|
echo tools/git-exclude "->" .git/info/exclude
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source scripts/config_local.sh
|
||||||
|
source scripts/environment.sh
|
||||||
|
|
||||||
|
# run server
|
||||||
|
cd $PROJECT_DIR/flightdeck/
|
||||||
|
$PYTHON_COMMAND ./manage.py runserver 8090
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source scripts/config_local.sh
|
||||||
|
source scripts/environment.sh
|
||||||
|
|
||||||
|
# run server
|
||||||
|
cd $PROJECT_DIR/flightdeck/
|
||||||
|
$PYTHON_COMMAND ./manage.py syncdb
|
||||||
|
|
|
@ -5,5 +5,9 @@
|
||||||
# *.[oa]
|
# *.[oa]
|
||||||
# *~
|
# *~
|
||||||
*local.py
|
*local.py
|
||||||
|
*local.wsgi
|
||||||
|
*local.sh
|
||||||
|
dev.db
|
||||||
|
logs
|
||||||
*.pyc
|
*.pyc
|
||||||
.*swp
|
.*swp
|
||||||
|
|
Загрузка…
Ссылка в новой задаче