--- a/sbin/virtualenv/create_python_env.py Fri Aug 06 17:19:37 2010 +0200
+++ b/sbin/virtualenv/create_python_env.py Thu Aug 19 12:15:27 2010 +0200
@@ -49,6 +49,7 @@
EXTRA_TEXT += " 'DJANGO' : { 'setup': 'django', 'url': 'http://www.djangoproject.com/download/1.2.1/tarball/', 'local': '"+ os.path.abspath(os.path.join(src_base,"Django-1.2.1.tar.gz"))+"'},\n"
EXTRA_TEXT += " 'DJANGO-EXTENSIONS' : { 'setup': 'django-extensions', 'url':'http://django-command-extensions.googlecode.com/files/django-extensions-0.4.1.tar.gz', 'local':'"+ os.path.abspath(os.path.join(src_base,"django-extensions-0.4.1.tar.gz"))+"' },\n"
EXTRA_TEXT += " 'DJANGO-REGISTRATION' : { 'setup': 'django-registration', 'url':'http://bitbucket.org/ubernostrum/django-registration/get/tip.tar.gz', 'local':'"+ os.path.abspath(os.path.join(src_base,"django-registration.tar.gz"))+"' },\n"
+EXTRA_TEXT += " 'LXML' : { 'setup': 'lxml', 'url': '"+ os.path.abspath(os.path.join(src_base,"lxml_2.2.7.tar.gz"))+"', 'local': '"+ os.path.abspath(os.path.join(src_base,"lxml_2.2.7.tar.gz"))+"'},\n"
EXTRA_TEXT += "}\n"
EXTRA_TEXT += "import sys\n"
@@ -232,20 +233,21 @@
show_stdout=True)
- NORMAL_INSTALL = [ #(key,method)
- ('PSYCOPG2', 'pip', None),
- ('MYSQL', 'pip', None),
- ('PIL', 'pip', None),
- ('FOURSUITE_XML','easy_install', None),
- ('DJANGO','pip', None),
- ('DJANGO-EXTENSIONS', 'pip', None),
- ('DJANGO-REGISTRATION', 'easy_install', '-Z')
+ NORMAL_INSTALL = [ #(key,method, option_str, extra_env)
+ ('LXML', 'easy_install', None, {'STATIC_DEPS': 'true'}),
+ ('PSYCOPG2', 'pip', None, None),
+ ('MYSQL', 'pip', None, None),
+ ('PIL', 'pip', None, None),
+ ('FOURSUITE_XML','easy_install', None, None),
+ ('DJANGO','pip', None, None),
+ ('DJANGO-EXTENSIONS', 'pip', None, None),
+ ('DJANGO-REGISTRATION', 'easy_install', '-Z', None),
]
- for key, method, option_str in NORMAL_INSTALL:
+ for key, method, option_str, extra_env in NORMAL_INSTALL:
if key not in ignore_packages:
- normal_install(key, method, option_str, res_source_key, home_dir, tmp_dir)
+ normal_install(key, method, option_str, extra_env, res_source_key, home_dir, tmp_dir)
logger.notify("Clear source dir")
shutil.rmtree(src_dir)
@@ -257,7 +259,7 @@
% join(script_dir, 'easy_install'))
-def normal_install(key, method, option_str, res_source_key, home_dir, tmp_dir):
+def normal_install(key, method, option_str, extra_env, res_source_key, home_dir, tmp_dir):
logger.notify("Install %s from %s with %s" % (key,URLS[key][res_source_key],method))
if method == 'pip':
args = [os.path.abspath(os.path.join(home_dir, 'bin', 'pip')), 'install', '-E', os.path.abspath(home_dir), URLS[key][res_source_key]]
@@ -266,7 +268,8 @@
call_subprocess(args,
cwd=os.path.abspath(tmp_dir),
filter_stdout=filter_python_develop,
- show_stdout=True)
+ show_stdout=True,
+ extra_env=extra_env)
else:
args = [os.path.abspath(os.path.join(home_dir, 'bin', 'easy_install')), URLS[key][res_source_key]]
if option_str :
@@ -274,7 +277,8 @@
call_subprocess(args,
cwd=os.path.abspath(tmp_dir),
filter_stdout=filter_python_develop,
- show_stdout=True)
+ show_stdout=True,
+ extra_env=extra_env)
def ensure_dir(dir):