Saturday, April 28, 2012

Installing Django-nonrel Easily Automated

Notice: Development of this installer has been discontinued due to my personal discontinued use of django-nonrel. If anyone else would like to maintain this installer, contact me (sepero 111 @ gmx . com) and I will link to your work.

If you've ever tried setting up django-nonrel for Google App Engine, then you realize that it can be a pain. Multiple archives to download, long directories to rename, trying to figure what goes where, and the extreme tediousness of setting up multiple symbolic links...

This program will automate the process of installing Django-nonrel for GAE.

Download Link:
https://github.com/Sepero/django-nonrel-installer/archive/master.zip

You will need to run it on the command line with the argument of your desired django-nonrel branch. The available arguments are:
  • --master    to install django-nonrel 1.3 master (This option will be removed in future releases.)
  • --dev13      to install django-nonrel 1.3 development
  • --dev14      to install django-nonrel 1.4 development
  • --dev15      to install django-nonrel 1.5 development
  • --clean      to erase the current install

The installer should be run in the directory where it exists. Here is an example of how to install 1.5 development in a terminal 
$ python dj_nonrel_install.py --dev15

Installing 1.3 development in a terminal
$ python dj_nonrel_install.py --dev13

The folder "django-nonrel" will be created, and all files will be downloaded/installed within the folder for use with Google App Engine. After it's finished, just move/rename the directory to where ever you want the permanent location to be.

Speed up creation of your development environment and get on to making awesome django apps! Any improvement suggestions or submissions are very welcome. This is tested on Linux, and will likely work on similar systems. It most definitely will not (yet?) run on MSWindows. Should now run on all Operating Systems!


Download Link:
https://github.com/Sepero/django-nonrel-installer/archive/master.zip
https://github.com/Sepero/django-nonrel-installer


Reference Links:
Django Documentation - http://docs.djangoproject.com/en
Django-Nonrel Documentation - http://djangoappengine.readthedocs.org/en/latest/index.html
Django-Nonrel Mailing List - http://groups.google.com/group/django-non-relational




Update 2012 Apr 28:
Currently working to make the installer dual compatible with installing MongoDB also. (Use pip to install MongoDB.)

Update 2012 May 01:
Django-testapp doesn't work with MongoDB for some reason. A bug report has been filed with it's author. I'm sorry, but at the time of this writing, MongoDB support cannot yet be implemented.

Update 2012 May 15:
The installer has now been modified to work with all operating systems. For systems that don't support symbolic links, the libraries will be moved directly inside of the Django-Testapp folder.

Update 2012 May 28:
Support has been added for "master" and "develop" branches. Master is installed by default. To install development branches of django-nonrel, use the command line argument --dev.

Update 2012 Jun 4:
Added Reference Links.

Update 2012 Sep 20:
Fixed problem with downloading development branches.

Update 2012 Dec 25:
Branch 1.4 is now available to install. Changed to install all contents into a folder.

Update 2013 Mar 14:
Fix for djangoappengine library. Switched source hosting to github.

Update 2013 May 19:
Django-nonrel 1.5 now available to install. Fixed issue with urls and unittests. Updated program description.

Update 2013 May 20:
I've just been informed that "master" branches will retired and all branches will be considered development. The default install branch will be moving to 1.5 development.

Last Update 2013 Sep 24:
There will be no more updates of this installer as I no longer work with django-nonrel. You are free to take the code and continue work/updates on this project. Email me, or Leave a comment in the section below with a link to where others can find your work.


Comment or email your feedback at sepero 111 @ gmx . com

4 comments:

  1. Your installer worked great after I altered the "-"'s to "_"'s when executing in Terminal.

    Now I exploring two questions.

    1) What does the --dev option give me (I did not try it)?

    2) I am lost with djangoappengine. I found the "main.py" file in the djangoappengine subdirectory with all the python code, but the code does not look like any I have used before in GAE. I have not used django except as a small part of python. So I am very confused about this programming environment. Where can I find a tutorial which will make the transition from old to new for me?

    This looks like a great automation of the download. Thanks already for that.

    Brian in Atlanta

    ReplyDelete
    Replies
    1. Hey Brian, I'm glad to hear the installer worked out well. I just corrected the typo about the "_"s. ;)

      1) It installs the "development" libraries of django-nonrel. By default the "master" (stable) libraries are installed. (edited the text a bit to try and clearify that)

      2) Django http://docs.djangoproject.com/en/1.3/
      Django-Nonrel http://docs.django-nonrel.org/

      Hopefully that will help you get up to speed. Cheers

      Delete
  2. Thank You Thank You Thank You Thank You.
    I spent all day trying to get djangoappengine/django-nonrel working, for some new Django projects I'm planning, I was about to give up, until I found your script.
    Still some things I've got to nut out, but at least I have a working app as proof of concept, sessions, auth, even admin working.
    1AM after 12 hours of seemingly no hope, going to bed happy.
    Trevor in Australia.
    http://cbsw.com.au/

    ReplyDelete
  3. looks cool tut.... i'll try these steps...

    ReplyDelete