2014-04-23 2 views
6

나는 PyPI에 대한 신조어 ... 그래서 자격을 얻도록하겠습니다. PyPI에 패키지를 넣으려고하는데 pip를 설치하려고 할 때 약간의 문제가 있습니다. 내가 PyPI에 파일을 업로드 할 때, 나는 경고를 (그러나 setup.py 스크립트를하지 치명적인 오류 및 200 개 상태 완료) :Py.py에 비공식 파일을 포함하려면 어떻게해야합니까?

'my_package/static/my_folder' not a regular file -- skipping 

내가 핍에 설치하는 갈 때 다음, 내가 할 오류 : SO에 대한 다른 답변에서

"error: can't copy 'my_package/static/my_folder': doesn't exist or not a regular file. 

, 나는 행운과 함께, 내 MANIFEST.in 내 setup.py 파일을 변경 시도했습니다.

recursive-include my_package *.css *.js *.jinja2 

및 setup.py : 여기에 내 현재 MANIFEST.in입니다

try: 
    from setuptools import setup, find_packages 
except ImportError: 
    from distutils.core import setup, find_packages 

setup(
    name='my_package', 
    packages=find_packages(), 
    include_package_data=True, 
    platforms='any', 
    version='1.0', 
    description='my_description', 
    license='MIT', 
    author='Me', 
    author_email='[email protected]', 
    install_requires=[ 
     'Flask', 
     'Jinja2', 
     'requests', 
    ], 
    url='http://www.example.com', 
    download_url='https://github.com/me/my_package/tarball/1.0', 
    classifiers=[ 
     'License :: OSI Approved :: MIT License', 
    ], 
) 

편집 : 나는 또한 아무것도를 망치는 경우 바로 볼 수 MANIFEST.in 파일을 떠나 시도했습니다 그러나 나는 같은 결과를 얻는다. (요청시 주석에서 재 게시).

+0

두 개의 파일 ('my_package/__ init __. py'와'my_package/static/a.css')을 가진 간단한 프로젝트를 만들었고,'setup.py'와'MANIFEST.in'은 잘 동작합니다. 매니페스트에 추가 규칙이 있습니까? 문제를 재현하는 최소한의 프로젝트를 제공 할 수 있다면 좋을 것입니다. – uranusjr

+0

@uranusjr : 그건 잘됐다. 그런 다음 PyPI에서 전체 패키지를 삭제하고 아무 문제없이 다시 제출했습니다. PyPI가 끝나면 뭔가가 있어야합니다. 이 문제를 효과적으로 해결 했으므로 답글로 의견을 게시 해주십시오. 동의하겠습니다. 감사! –

답변

2

귀하의 설치 스크립트와 MANIFEST.in 작동합니다.

my_project/ 
    my_package/ 
     static/ 
      a.css 
     __init__.py 
    MANIFEST.in 
    setup.py 

실행 python setup.py sdist을 당신은 static/a.css__init__.py 모두 tar.gz 패키지에 번들로 제공되는 것을 확인할 수있는 것들 : 최소한의 예와 이것을 증명합니다.