编译和安装软件或python包以及生成由makina corpus赞助的脚本或配置文件的方法。
minitage.recipe.du的Python项目详细描述
内容
Introduction
执行简单“python setup.py build&;python setup.py install–prefix”的方法 可能在里面或者没有潜在的小舞台的帮助下 环境。
您可以在Minitage的以下资源中浏览代码:
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
请在以下位置查找选项:http://pypi.python.org/pypi/minitage.recipe.common#options-shared-by-all-the-recipes
- site packages:将构建的python文件放到何处
Specific hooks
- pre_setup_hook:在调用python setup.py build dance之前
- pre_install_hook:在调用python setup.py install dance之前
- post_setup_hook:调用python setup.py install dance之后
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”
也可以直接从url安装。 我们将使用它检查缓存中已存在的分发文件。
>>> 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>