setup.pyでPyPIにあがっていないライブラリを利用する方法

dependency_links を設定する。

自分の場合、開発時に JavaScript を触るので、closure-lint を入れたかった。

それで、setup.cfg 設定して、python setup.py dev として入れたかった。

そこで具体的に以下のように設定した。

ミソは、dependency_links を設定した上で、インストール対象のライブラリ名を install_requires 也、 extras_require 也に記載しなければ行けない点。

setup.py

# coding: utf-8
from setuptools import setup

packages = []
install_requires = [
    'django-tastypie',
    'Django',
]
# 以下もライブラリの検索対象に加える
dependency_links = [
    'http://closure-linter.googlecode.com/files/closure_linter-latest.tar.gz',
]
# インストール対象にも加えておく
dev_extras = [
    'Mercurial',
    'ipython',
    'flake8',
    'closure-linter',
]

setup(
    name='hoge',
    version='0.1',
    packages=packages,
    install_requires=install_requires,
    dependency_links=dependency_links,
    extras_require=dict(
        dev=dev_extras,
    ),
)

setup.cfg

[aliases]
dev = develop easy_install hoge[dev]