python - 为什么 mr.developer 不安装我的包依赖项?

标签 python dependencies buildout egg setup.py

我正在将 mr.developer 与 buildout 一起用于项目,但它不会安装我的开发包的 install_requires 中列出的 Egg。我做错了什么?

项目的setup.py:

#!/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

开发.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

我原以为如果我运行bin/buildout -cdevelop.cfg,应该安装avro、celery、jsonpath、httplib2和pyramid。如果我运行 pip install path/to/tan.adapter,它们安装。我必须做什么才能让 mr.developer 和 buildout 自动安装依赖项?

最佳答案

您的构建中的哪个部分实际上使用了鸡蛋? tan.adapter Egg 实际上没有包含在零件中,而这正是引入依赖项的地方。

关于python - 为什么 mr.developer 不安装我的包依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10526657/

相关文章:

python - DJANGO:request.POST.getlist() 到 ModelForm

android - 如何在 Gradle Build Script 中使用 java 库?

python - 如何使用 zc.buildout 安全(基本)验证私有(private) PyPI

ubuntu - 使用 nginx 的权限错误 zc.buildout

python pyinstaller 将 GUI 中的图像捆绑到 onefile EXE 中?

python - 如何仅读取 JSON 数据框中的特定列?

python - 读取Python中的环境变量

Makefile 依赖项不适用于虚假目标

java - 如何在 OSGi 中使用 Apache POI

python - 在zc.buildout中,如何安装egg A,然后安装egg B,而egg B需要egg A才能正确安装?