문제

이것은 일반적인 시나리오이어야하지만 아직 관련 게시물을 찾을 수 없습니다 ..

일부 이미지 및 기타 리소스 파일을 사용하는 Python 라이브러리 (일반 응용 프로그램에 동일하게 적용되는 것 같아요)를 배포 할 계획입니다. 그러한 품목의 표준 위치는 무엇입니까? 프로젝트를 위해 상상합니다 Foo, 선택은 될 것입니다

  • 가지다 resources 소스 저장소의 디렉토리를 다음 파일을 /usr/share/foo/
  • 아래에있는 파이썬 패키지 내부에 자원을 배치하십시오. /usr/lib/python-<version>/foo/

제안이 있습니까?

편집하다: 제안한 바와 같이, 이것이 실행될 주요 플랫폼이 Linux임을 명확히합니다.

도움이 되었습니까?

해결책

적절한 답변은 각각 자체 모드 오페라가 있기 때문에 기본 운영 체제에 의존하기 때문에이 질문은 다소 불완전합니다. 예를 들어/usr/share/foo 또는/usr/local/share/foo가 표준입니다. OS X에서는 똑같이 할 수 있지만 "/Library/Application Support/Foo"(일반적으로 설정을 저장하는 것이지만)는 그런 것들을 넣을 수있는 곳이 될 것이라고 생각합니다. "프레임 워크"아이디어, 모든 리소스는 /library/frameworks/foo.framework에 포함됩니다. "

다른 팁

비 .py 파일을 넣습니다 /opt/foo/foo-1.2/...

물론 Apache가 제공하는 정적 미디어의 경우 /var/www/html/foo/foo-1.1/media/...

물론 고객 별 구성 파일을 제외하고. 그들은 간다/var/opt/customer/foo/...

그것들은 내가 이해할 때 Linux 표준을 따릅니다.

우리는 멀리하려고 노력합니다 /usr/lib/ 그리고 /lib 그것들은 분포의 일부처럼 느껴지기 때문에 장소의 종류. 우리는 기대합니다 /opt 그리고 /var Linux 배포판 디렉토리와 명확하게 분리되어 있기 때문입니다.

그만큼 기준 위치는 표준 Libs가가는 곳입니다. 그러나 당신이 쓴 내용에서 나에게 소리가 나지 않을 것입니다. 나는 당신이 시도해야한다고 생각합니다 virtualenv.

모든 문제를 겪고 싶지 않다면 (실제로는 sudo easy_install virtualenv 당신을 위해), 당신은 당신의 python lib를 당신의 어떤 dir에 버리는 것입니다. ~/ 그리고 선을 따라 무언가를하십시오

import sys
sys.path.append( '/full/path/to/your/lib/goes/here')

귀하의 LIB를 사용하는 모든 응용 프로그램에.

주어진 예제는 테스트 목적만을위한 것임을 명심하십시오. 라이브로, 나는 당신이 사용하는 것이 좋습니다. Distutil. 사용의 예가 제공됩니다 여기.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top