server/virtualenv/web/res/res_create_env.py
author ymh <ymh.work@gmail.com>
Fri, 29 May 2015 02:22:11 +0200
changeset 3 fc0f3e398166
child 14 9618fe364dca
permissions -rw-r--r--
Creation of Django server project
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
import platform
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
import os
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
import sys
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
from lib_create_env import lib_generate_install_methods
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
system_str = platform.system()
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
extra_env = None
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
if system_str == 'Darwin':
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
    extra_env = {'STATIC_DEPS': 'true', 'LIBXML2_VERSION': '2.9.2', 'LIBXSLT_VERSION': '1.1.28', 'LIBICONV_VERSION': '1.14'}
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    if os.path.exists('/usr/local/opt/xz'):
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
        if not os.path.exists('/usr/local/opt/libxml2'):
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
            sys.exit("You have installed xz with Homebrew but do not have libxml2 installed with Homebrew. Install libxml2 with Homebrew and try again.")
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        extra_env = {'LDFLAGS': '-L/usr/local/opt/libxml2/lib', 'CPPFLAGS': '-I/usr/local/opt/libxml2/include'}
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
INSTALLS = [  # (key,method, option_str, dict_extra_env)
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    {
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        'requirement':'requirements.txt',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        'install': {
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
            'option_str': None,
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
            'dict_extra_env': extra_env
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        }
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    },
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
#    'LXML',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
#    'SIMPLEJSON',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
#    'PSYCOPG2',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    #'MYSQL',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
#    'PIL', 
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
#    'DJANGO',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
#    'DJANGO-EXTENSIONS',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
#    'DJANGO-REGISTRATION',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
#    'DJANGO-TAGGIT',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
#    'DJANGO-TAGGIT-TEMPLATETAGS',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
#    'HTTPLIB2',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
#    'OAUTH2',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
#    'OAUTHLIB',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
#    'SETUPTOOLS_HG',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
#    'DJANGO-OAUTH-PLUS',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
#    'OPENID',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
#    'SOCIAL_AUTH',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
#    'DJANGO_GUARDIAN',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
#    'SORL_THUMBNAIL',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
#    'HAYSTACK',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
#    'URLLIB3',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
#    'REQUESTS',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
#    'ELASTICSEARCH',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
#    'PYELASTICSEARCH',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
#    'WHOOSH',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
#    'MIMEPARSE',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
#    'SIX',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
#    'PYTHON-DATEUTIL',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
#    'PYYAML',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
#    'PYTHON-DIGEST',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
#    'DEFUSEDXML',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
#    'DJANGO-TASTYPIE',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
#    'DJANGO-CORS-HEADERS',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
#    'DJANGO-CHUNCKED-UPLOADS',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
#    'PYJWT',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
#    'DJANGO-TEMPLATETAG-SUGAR',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
#    'PYTHON-MIMEPARSE',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
#    'REQUESTS-OAUTHLIB',
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
#    'SOUTH,
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
]
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
OPTIONS_TO_ADD = {'type_install': 'local', 'unzip_setuptools': True}
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
def generate_install_methods(path_locations, src_base, run_base, Logger, call_subprocess):    
fc0f3e398166 Creation of Django server project
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
    return lib_generate_install_methods(path_locations, src_base, run_base, Logger, call_subprocess, INSTALLS, OPTIONS_TO_ADD)