Question

I'm using mr.developer with buildout for a project, but it doesn't install the eggs listed in my development packages' install_requires. What am I doing wrong?

setup.py for the project:

#!/usr/bin/env python

from setuptools import setup, find_packages
from os.path import join

# tests_require is not always available in setup(), so we implement it a couple ways.
tests_require = [
    'nosetests',
]
setup(
    name='tan.adapter',
    version=open(join('docs','VERSION.txt')).read(),
    long_description=open('README.txt').read() + '\n' + open(join('docs', 'HISTORY.txt')).read(),
    classifiers=[
        'Development Status :: 2 - Pre-Alpha',
        'Environment :: Web Environment',
        'Framework :: Pylons',
        'License :: Other/Proprietary License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Topic :: Internet :: WWW/HTTP :: WSGI :: Application',
    ],
    packages=find_packages(exclude=['ez_setup']),
    include_package_data=True,
    zip_safe=True,
    tests_require=tests_require,
    extras_require={'test': tests_require,},
    install_requires=[
        'avro',
        'celery',
        'jsonpath',
        'httplib2',
        'pyramid',
    ]
)

buildout.cfg:

[buildout]
eggs-directory = eggs
extensions =
    buildout.dumppickedversions
eggs =
parts =
    python-snappy
    celery
    mongodb

[celery]
recipe = collective.recipe.celery
broker-transport = amqplib
broker-host = localhost
result-backend = amqp
result-dburi = amqp://localhost

[mongodb]
recipe = rod.recipe.mongodb
base-url = http://downloads.mongodb.org
version = 2.0.4
darwin-32bit-url = ${mongodb:base-url}/osx/mongodb-osx-i386-${mongodb:version}.tgz
darwin-64bit-url = ${mongodb:base-url}/osx/mongodb-osx-x86_64-${mongodb:version}.tgz
linux2-32bit-url = ${mongodb:base-url}/linux/mongodb-linux-i686-${mongodb:version}.tgz
linux2-64bit-url = ${mongodb:base-url}/linux/mongodb-linux-x86_64-${mongodb:version}.tgz
logpath=${buildout:parts-directory}/mongodb/log
dbpath=${buildout:parts-directory}/mongodb/data
master=true
update=true

[snappy]
# Dependency for python-snappy
recipe = zc.recipe.cmmi
url = http://snappy.googlecode.com/files/snappy-1.0.5.tar.gz

[python-snappy]
# Dependency for avro
recipe = zc.recipe.egg:custom
include-dirs = ${snappy:location}/include
library-dirs = ${snappy:location}/lib

develop.cfg:

[buildout]
extends = buildout.cfg
extensions +=
    mr.developer
sources = sources
auto-checkout = tan.adapter
parts +=
    tests

[sources]
tan.adapter = git /var/git/tan.adapter.git

[tests]
recipe = pbp.recipe.noserunner
eggs =
    ${buildout:eggs}
    coverage
    pbp.recipe.noserunner
    WebTest
working-directory = ${buildout:directory}/src/tan.adapter/tan/adapter

I had thought that if I run bin/buildout -c develop.cfg, that avro, celery, jsonpath, httplib2, and pyramid should install. They do install if I run pip install path/to/tan.adapter. What must I do to make mr.developer and buildout install the dependencies automatically?

Was it helpful?

Solution

What part in your buildout actually uses the egg? Nowhere is the tan.adapter egg actually included in a part, which is where dependencies would be pulled in.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top