2013-04-21 3 views
14

내가 재사용이 가능한 장고 응용 프로그램을 쓰고 있어요 대시를 포함 예상 괄호 목록 : 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이고 파이썬 패키지 이름 (일부는 documentation 임)이 필요합니다. 당신이 setuptools를 사용하고 있기 때문에, 당신은 PyPI 패키지 이름을 지원 않는 대신 install_requires 인수를 사용한다 :

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

더 많은 정보를 Declaring Dependenciessetuptools 문서에.

+0

그냥 위의 설명에 설명을 추가하려면 -s를 제거해야합니다. python에는 산술 연산자입니다. 즉 'django-tinymce'-> 'djangotinymce'. – Rebs