2013-04-21 8 views
14

私は、再利用可能なDjangoのアプリを書いていますダッシュが含まれていると予想括弧で囲まれたリスト:https://django.readthedocs.org/en/1.5.x/intro/reusable-apps.htmlsetup.py:ここで説明したように必要なパッケージ名が

私はパッケージにダッシュが含まれているsetup.pyで要件を指定 setup.pyは実行されません。例えば、私のsetup.pyに次の行が含まれているとします。

requires=[ 'djangotinymce', 'MtFileUtil', 'Django', 'PyYAML', ], 

これで正常に動作します。

python ./setup.py sdist 
running sdist 
... 
Creating tar archive 

私は行はこのように見えるように変更した場合:

requires=[ 'django-tinymce', 'MtFileUtil', 'Django', 'PyYAML', ], 

を私たちは、私はこれを作るために何がわからないんだ

Traceback (most recent call last): 
    File "./setup.py", line 32, in <module> 
    'Topic :: Internet :: WWW/HTTP :: Dynamic Content', 
    File "/usr/lib/python2.7/distutils/core.py", line 112, in setup 
    _setup_distribution = dist = klass(attrs) 
    File "/home/travis/venv/deleteme/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/setuptools/dist.py", line 225, in __init__ 
    _Distribution.__init__(self,attrs) 
    File "/usr/lib/python2.7/distutils/dist.py", line 259, in __init__ 
    getattr(self.metadata, "set_" + key)(val) 
    File "/usr/lib/python2.7/distutils/dist.py", line 1220, in set_requires 
    distutils.versionpredicate.VersionPredicate(v) 
    File "/usr/lib/python2.7/distutils/versionpredicate.py", line 113, in __init__ 
    raise ValueError("expected parenthesized list: %r" % paren) 
ValueError: expected parenthesized list: '-tinymce' 

奇妙なエラーが発生します。私はdjango-tinymceを必要としたいが、私はそれをする方法を見ることができません。

答えて

16

require引数はdistutilsで、Pythonパッケージ名(一部の場合はdocumentation)が必要です。 setuptoolsドキュメントのDeclaring Dependencies

install_requires=['djangotinymce', 'MtFileUtil', 'Django', 'PyYAML'], 

さらに詳しい情報:あなたはsetuptoolsを使用しているので、あなたはは、PyPIパッケージ名をサポートしており、代わりにinstall_requires引数を使用する必要があります。

+0

上記のコメントに説明を追加するには、-'を削除する必要があります。 Pythonには算術演算子です。つまり、 'django-tinymce' - > 'djangotinymce'です。 – Rebs

関連する問題