virtualenv/setup/create_python_env.py
author grandjoncl
Thu, 11 Oct 2012 16:39:05 +0200
changeset 842 ca38abd140b3
parent 668 b52724db32ab
permissions -rw-r--r--
Corrections of the code for the embed popup. Functions are now in the embed_popup.js With chrome the player used to play the video even when it wasn't supposed to be displayed and kept playing when we hid the player. When we changed between div and iframe the player started even when it was suppose to be hidden. It's now solved.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
"""
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
Call this like ``python create_python_env.py``; it will
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
refresh the project-boot.py script
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
-prerequisite:
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
- virtualenv
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
- python project-boot.py --unzip-setuptools --no-site-packages --clear --type-install=local <path_to_venv>
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
"""
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
import os
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
import subprocess
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
import re
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
import sys
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
here = os.path.dirname(os.path.abspath(__file__))
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
base_dir = here
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
script_name = os.path.join(base_dir, 'project-boot.py')
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
import virtualenv
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
50
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    25
src_base = os.path.abspath(os.path.join(here,"..","res","src")).replace("\\","/")
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    26
lib_path = os.path.abspath(os.path.join(here,"..","res","lib")).replace("\\","/")
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    27
patch_path = os.path.abspath(os.path.join(here,"res","patch")).replace("\\","/")
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    28
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
47
4ed054be603f improve create env script creation
ymh <ymh.work@gmail.com>
parents: 30
diff changeset
    30
EXTRA_TEXT  = "import sys\n"
4ed054be603f improve create env script creation
ymh <ymh.work@gmail.com>
parents: 30
diff changeset
    31
EXTRA_TEXT += "sys.path.append('%s')\n" % (lib_path)
50
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    32
EXTRA_TEXT += "sys.path.append('%s')\n" % (os.path.abspath(os.path.join(here,"res")).replace("\\","/"))
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    33
EXTRA_TEXT += "from res_create_env import generate_install_methods\n"
0d59e0522d36 simplify virtualenv creation script
ymh <ymh.work@gmail.com>
parents: 47
diff changeset
    34
EXTRA_TEXT += "adjust_options, extend_parser, after_install = generate_install_methods(path_locations, '%s', Logger, call_subprocess)\n" % (src_base)
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
def main():
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    python_version = ".".join(map(str,sys.version_info[0:2]))
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
    text = virtualenv.create_bootstrap_script(EXTRA_TEXT, python_version=python_version)
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    if os.path.exists(script_name):
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
        f = open(script_name)
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
        cur_text = f.read()
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
        f.close()
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
    else:
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
        cur_text = ''
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    print 'Updating %s' % script_name
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    if cur_text == 'text':
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
        print 'No update'
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
    else:
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
        print 'Script changed; updating...'
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
        f = open(script_name, 'w')
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
        f.write(text)
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        f.close()
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
if __name__ == '__main__':
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    main()
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57