setuptools의 패키지질문

4490 단어 package
setup {

package_data = ['', ['*.txt']]

}

 
효과가 없습니다. 원본 코드로 포장할 때 패키지 아래의 txt 파일을 넣지 않았습니다.
setuptools의 공식 문서를 찾습니다.
This tells setuptools to install any data files it finds in your packages. The data files must be under CVS or Subversion control, or else they must be specified via the distutils' MANIFEST.in file. (They can also be tracked by another revision control system, using an appropriate plugin
원래 버전 관리 소프트웨어를 설정하거나 디렉터리에 MANIFEST를 만들어야 합니다.in 프로필, cvs를 설치하지 않았습니다. 두 번째 방법을 선택하십시오:
MANIFEST 구축.in, 쓰기:
include *.txt

모든 txt 파일 일치
그리고python setup.py sdist, 데이터 파일이 정상적으로 가져왔습니다
setuptools 처리 패키지데이터에는 세 가지 방법이 있다. 하나는 위의 방법이다.
from setuptools import setup, find_packages
setup(
...
package_data = {
# *.txt or *.rst , package
'': ['*.txt', '*.rst'],
# hello *.msg
'hello': ['*.msg'],
}
)

 
 
또 하나는 자동 식별으로 다중 패키지 처리가 가능하다.
from setuptools import setup, find_packages
setup(
...
include_package_data = True
)

 
모든 패키지의 모든 데이터 파일을 검색할 수 있습니다. 이런 방법은 비교적 편리합니다
 
마지막 상황은 데이터 파일이 패키지 디렉터리에 위치하고 수동으로 설정하는 방법이다. 예를 들어 mypkg의 데이터 디렉터리에서 이렇게 할 수 있다.
from setuptools import setup, find_packages
setup(
...
packages = find_packages('src'), # include all packages under src
package_dir = {'':'src'}, # tell distutils packages are under src

package_data = {
# If any package contains *.txt files, include them:
'': ['*.txt'],
# And include any *.dat files found in the 'data' subdirectory
# of the 'mypkg' package, also:
'mypkg': ['data/*.dat'],
}
)

 
 
setuptools 공식 문서:http://peak.telecommunity.com/DevCenter/setuptools#including-data-files

좋은 웹페이지 즐겨찾기