Introduction
Recipe for doing simple “python setup.py build && python setup.py install –prefix” maybe inside and with (or without) the help of an underlying minitage environment.
You can browse the code on minitage’s following resources:
Makina Corpus sponsored software
minitage.recipe:fetch
Abstract
you need virtualenv and zc.buildout to run tests.
This recipe can be used to install python packages in a specific directory aLaDisutils way (python setup.py build && python setup.py install)
Specific options
Please look for options at : http://pypi.python.org/pypi/minitage.recipe.common#options-shared-by-all-the-recipes
site-packages : where to drop the builded python files
Specific hooks
pre_setup_hook : before python setup.py build dance is called
pre_install_hook : before python setup.py install dance is called
post_setup_hook : after python setup.py install dance is called
Let’s create a buildout configuration file
>>> rmdir(tempdir)
>>> mkdir(tempdir)
>>> cd(tempdir)
>>> a = [mkdir(d) for d in ('eggs', 'develop-eggs', 'bin', 'src')]
>>> install_develop_eggs(['minitage.recipe.du'])
>>> install_eggs_from_pathes(['zc.buildout'], sys.path)
>>> touch('buildout.cfg')
>>> sh('virtualenv --no-site-packages .')
virtualenv --no-site-packages .
Using real prefix '/usr'
New python executable in ./bin/python
Installing setuptools............done.
<BLANKLINE>
<BLANKLINE>
>>> sh('bin/easy_install -U zc.buildout')
bin/easy_install -U zc.buildout...
Finished processing dependencies for zc.buildout
<BLANKLINE>
<BLANKLINE>
>>> sh('bin/buildout -o bootstrap')
bin/buildout -o bootstrap...
Initializing test env.
>>> if not os.path.exists('foo'):
... mkdir('foo')
... else:
... rmdir(foo)
... mkdir('foo')
>>> touch('foo/setup.py', data="""
... from setuptools import setup
... setup(name='foo', version='1.0')
...
... """)
>>> touch('foo/toto.py', data="""
... def f():
... print "foo"
...
... """)
>>> noecho = [os.remove(d) for d in os.listdir('.') if '.tar.gz' in d]
>>> os.chdir('foo')
>>> sh('python setup.py sdist')
p...
>>> noecho = [shutil.copy(os.path.join('dist', d), os.path.join('..', d)) for d in os.listdir('dist')]
>>> os.chdir('..')
Installing “A la python setup.py install”
You can also install directly from urls. we ll use it to check the already present distribution files in the cache.
>>> data = """
... [buildout]
... parts=ez
... [ez]
... executable = ${buildout:directory}/bin/python
... recipe = minitage.recipe.du
... url = file://${buildout:directory}/foo-1.0.tar.gz
... site-packages=${buildout:directory}/myfoo
... """
>>> touch('buildout.cfg', data=data)
>>> sh('bin/buildout -vvvvvv install ez')
b...
Installing ez.
minitage.recipe: Installing python package.
minitage.recipe: Download archive
minitage.recipe: Searching cache at ...
minitage.recipe: Using cache file in /home/kiorky/.buildout/downloads/minitage/foo-1.0.tar.gz
minitage.recipe: Unpacking in /tmp/buildout.test/__minitage__ez__tmp.
minitage.recipe: Guessing compilation directory
minitage.recipe: Setting path
minitage.recipe: Setting pkgconfigpath
minitage.recipe: Setting path
minitage.recipe: Setting path
minitage.recipe: Setting compilation flags
minitage.recipe: Running "/tmp/buildout.test/bin/python" setup.py build
running build
minitage.recipe: Setting path
minitage.recipe: Running "/tmp/buildout.test/bin/python" setup.py install --install-purelib="/tmp/buildout.test/myfoo" --install-platlib="/tmp/buildout.test/myfoo" --prefix=/tmp/buildout.test
running install
running bdist_egg
running egg_info...
Copying foo-1.0-py2.6.egg to /tmp/buildout.test/myfoo...
Installed /tmp/buildout.test/myfoo/foo-1.0-py...egg...
<BLANKLINE>
CHANGELOG
1.60 (2012-08-21)
fix prefix
1.59 (2012-08-21)
doc
1.58 (2012-08-21)
fix installation problems with multiple parts
1.35
Spllited out from minitage.recipe
Release files for minitage.recipe.du 1.60
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| minitage.recipe.du-1.60.zip | 19.6 kB | Details |
Release files / minitage.recipe.du-1.60.zip
| Download URL | minitage.recipe.du-1.60.zip |
|---|---|
| Size | 19.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e2012a7b0e7a95f5c044aed6b5e92fd1358b6489c9eaa3b48f3712fb08077077
|
|
BLAKE2b-256 checksum How to use checksums |
ee8c1254e1642fc34ba10bd3a83a556f20e9bbf3f5d78262499a7722452b9e3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |