Mercurial > hg > carton
comparison carton.py @ 38:99c610473c17
if develop fails, go with install
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Mon, 09 Apr 2012 13:44:16 -0700 |
parents | 33e5d444ff30 |
children | d9dcc5a1503b |
comparison
equal
deleted
inserted
replaced
37:33e5d444ff30 | 38:99c610473c17 |
---|---|
3 """ | 3 """ |
4 make a self-extracting virtualenv from directories or URLs of packages | 4 make a self-extracting virtualenv from directories or URLs of packages |
5 | 5 |
6 To package up all files in a virtualenvs source directory (e.g.):: | 6 To package up all files in a virtualenvs source directory (e.g.):: |
7 | 7 |
8 python path/to/carton.py myproject project/src/* | 8 python path/to/carton.py myproject project/src/* |
9 | 9 |
10 This will create a self-extracting file, `myproject.py`, that will unfold | 10 This will create a self-extracting file, `myproject.py`, that will unfold |
11 a virtualenv with the specified packages setup for development | 11 a virtualenv with the specified packages setup for development |
12 | 12 |
13 The sources may be directories, local or HTTP-accessible tarballs, or ordinary | 13 The sources may be directories, local or HTTP-accessible tarballs, or ordinary |
135 for i in os.listdir(srcdir): | 135 for i in os.listdir(srcdir): |
136 if i in setup_pys: | 136 if i in setup_pys: |
137 continue | 137 continue |
138 subdir = os.path.join(srcdir, i) | 138 subdir = os.path.join(srcdir, i) |
139 if os.path.exists(os.path.join(srcdir, i, 'setup.py')): | 139 if os.path.exists(os.path.join(srcdir, i, 'setup.py')): |
140 call([python, 'setup.py', 'develop'], cwd=subdir) | 140 try: |
141 call([python, 'setup.py', 'develop'], cwd=subdir) | |
142 except: | |
143 call([python, 'setup.py', 'install'], cwd=subdir) | |
141 # TODO: try `setup.py install` if develop fails for distutils packages | 144 # TODO: try `setup.py install` if develop fails for distutils packages |
142 setup_pys.add(i) | 145 setup_pys.add(i) |
143 | 146 |
144 # add virtualenv to the virtualenv (!) | 147 # add virtualenv to the virtualenv (!) |
145 virtualenv_dir = os.path.dirname(virtualenv) | 148 virtualenv_dir = os.path.dirname(virtualenv) |