virtualenv/web/create_python_env.py
author rougeronj
Wed, 19 Sep 2012 18:16:19 +0200
changeset 789 d92d032a6d78
parent 731 aba6c30b6d2a
permissions -rw-r--r--
Commit Julien: Champ de recherche de users et groups dans l'ajout de content, amélioré pour que le mot "recherche" disparaisse au moment ou l'on clique sur le champ. Meme modification dans la page "groups". Permettre à un user qui a le droit de creer un group, d'en creer un (le label de la permission est "auth.add_group").
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
"""
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
Call this like ``python create_python_env.py``; it will
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
refresh the project-boot.py script
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
-prerequisite:
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
- virtualenv
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
- distribute
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
- psycopg2 requires the PostgreSQL libpq libraries and the pg_config utility
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
47
4ed054be603f improve create env script creation
ymh <ymh.work@gmail.com>
parents: 22
diff changeset
    11
- python project-boot.py --distribute --no-site-packages --index-url=http://pypi.websushi.org/ --clear --type-install=local --ignore-packages=MYSQL <path_to_venv>
4ed054be603f improve create env script creation
ymh <ymh.work@gmail.com>
parents: 22
diff changeset
    12
- python project-boot.py --no-site-packages --clear --ignore-packages=MYSQL  --type-install=local <path_to_venv>
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
- For Linux :
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
python project-boot.py --unzip-setuptools --no-site-packages --index-url=http://pypi.websushi.org/ --clear --type-install=local <path_to_venv>
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
731
aba6c30b6d2a first step of mysql migration
ymh <ymh.work@gmail.com>
parents: 671
diff changeset
    16
Probleme avec mysql :
aba6c30b6d2a first step of mysql migration
ymh <ymh.work@gmail.com>
parents: 671
diff changeset
    17
aba6c30b6d2a first step of mysql migration
ymh <ymh.work@gmail.com>
parents: 671
diff changeset
    18
sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib ~/dev/workspace/platform/virtualenv/web/env/venv_platform/lib/python2.7/site-packages/_mysql.so
aba6c30b6d2a first step of mysql migration
ymh <ymh.work@gmail.com>
parents: 671
diff changeset
    19
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
"""
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
import os
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
import subprocess
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
import re
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
import sys
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
here = os.path.dirname(os.path.abspath(__file__))
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
base_dir = here
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
script_name = os.path.join(base_dir, 'project-boot.py')
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
import virtualenv
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
50
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 49
diff changeset
    34
src_base = os.path.abspath(os.path.join(here,"..","res","src")).replace("\\","/")
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 49
diff changeset
    35
lib_path = os.path.abspath(os.path.join(here,"..","res","lib")).replace("\\","/")
17
ab47434f9ffc update boot-script for env on windows
wakimd
parents: 13
diff changeset
    36
patch_path = os.path.abspath(os.path.join(here,"res","patch")).replace("\\","/")
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
47
4ed054be603f improve create env script creation
ymh <ymh.work@gmail.com>
parents: 22
diff changeset
    39
EXTRA_TEXT  = "import sys\n"
4ed054be603f improve create env script creation
ymh <ymh.work@gmail.com>
parents: 22
diff changeset
    40
EXTRA_TEXT += "sys.path.append('%s')\n" % (lib_path)
49
8ccbd2f3820e correct createenv script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    41
EXTRA_TEXT += "sys.path.append('%s')\n" % (os.path.abspath(os.path.join(here,"res")).replace("\\","/"))
671
fc56b4c9e4f3 correct virtualenv creation
ymh <ymh.work@gmail.com>
parents: 668
diff changeset
    42
EXTRA_TEXT += "from res_create_env import generate_install_methods\n"
49
8ccbd2f3820e correct createenv script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    43
EXTRA_TEXT += "adjust_options, extend_parser, after_install = generate_install_methods(path_locations, '%s', Logger, call_subprocess)\n" % (src_base)
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
def main():
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    python_version = ".".join(map(str,sys.version_info[0:2]))
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    text = virtualenv.create_bootstrap_script(EXTRA_TEXT, python_version=python_version)
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
    if os.path.exists(script_name):
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
        f = open(script_name)
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
        cur_text = f.read()
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
        f.close()
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
    else:
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        cur_text = ''
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
    print 'Updating %s' % script_name
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
    if cur_text == 'text':
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
        print 'No update'
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
    else:
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
        print 'Script changed; updating...'
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        f = open(script_name, 'w')
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
        f.write(text)
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
        f.close()
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
if __name__ == '__main__':
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
    main()
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65