2016-06-30 1 views
0

을 무시 sdist. 그러나 나는 그것을 작동하게 만들 수 없다. 내가 python setup.py install을 실행하면setuptools에는 <a href="https://packaging.python.org/en/latest/distributing/#data-files" rel="nofollow">https://packaging.python.org/en/latest/distributing/#data-files</a></p> <p>setuptools에이 <code>data_files</code>이 setup.py에 configed 존중합니다 문서에 따르면 data_files

. 
├── booking_order 
│   ├── __init__.py 
│   ├── tests 
│   │   ├── __init__.py 
├── etc 
│   ├── booking.conf 
├── README.md 
├── setup.py 

동작은 etc/booking.conf 의지가 /etc/booking에 설치되어있어 파일입니다 :

setup(
    name='booking_order', 
    version=version, 
    packages=find_packages(), 
    package_data={ 
     'booking_order': ['fake_backends/static/*', 
          'scripts/*', 
          '*.sample'], 
    }, 
    data_files=[ 
     ('/etc/booking', ['etc/booking.conf']) 
    ], 

이 프로젝트의 파일 트리입니다 : 이것은 내 setup.py입니다. 하지만 내가 처음으로 python setup.py sdist upload, pip install booking_order이라면 "오류 : 'etc/booking.conf'을 (를) 복사 할 수 없습니다 : 존재하지 않거나 일반 파일이 아닙니다 '오류가 발생합니다. python setup.py sdist에 파일이 포함되어 있지 않음을 확인했습니다.

편집 : https://github.com/pypa/setuptools/issues/521

답변

0

대답 그것을 자신 :

가이 보인다는 대답이다.

pypanon-package-data-files에 따르면 "Setuptools는 사용자 컴퓨터의 임의의 위치에 데이터 파일을 설치하는 것을 지원하지 않으며 이는 버그가 아니라 기능입니다."

/etc,/usr/share와 같은 위치에 파일을 설치해야하는 경우 distutils의 data_files 플래그를 사용할 수 있습니다.이 기능은 setuptools에서 완전히 정리되지 않습니다. "완전히 정리하지 못했다"는 것은 distutils에서와 같이 수동으로 MANIFEST.in 파일을 추가해야한다는 것을 의미합니다.

물론 rpm이나 deb 패키지 시스템으로이 구성 파일을 관리 할 수 ​​있다면 더 좋을 것입니다. 나를 위해 여기에 pip를 사용하는 것은 단지 일시적인 해결책 일뿐입니다.