2014-05-13 5 views
1

필자는 주요 실행 스크립트, 해당 스크립트가 의존하는 모듈 및 해당 스크립트가 조작하는 데이터 (sqlite3 데이터베이스, 플랫 파일 등)의 세 가지 구성 요소가 포함 된 Python 프로젝트를 보유하고 있습니다. 최상위 수준에는 __init__.py 파일이 있으므로 필요한 경우 다른 프로그램도 모듈에서 빌릴 수 있습니다.Python 프로젝트를 site-packages 디렉토리에 추가해야합니까, 아니면 PYTHONPATH에 프로젝트를 추가해야합니까?

내 프로젝트를 기본 사이트 패키지 디렉토리로 이동하거나 PYTHONPATH를 수정하여 내 프로젝트 위에 하나의 디렉토리를 포함하도록 프로젝트를 가져올 수있는 "Pythonic"또는 "correct"입니까?)? 한편으로는 필자가 설명한 것은 엄격하게 "패키지"가 아니라 패키지로 취급 될 수있는 데이터가있는 "프로젝트"입니다. 그래서 나는 PYTHONPATH를 수정하는 방향으로 기울고있다. (어쨌든 PYTHONPATH가 존재해야만한다.)

+0

PYTHONPATH를 제공하는 것, 손을 반복한다. –

답변

1

분명히 사이트 패키지에 프로젝트를 추가하지 마라. 이것이 시스템 파이썬 설치를 망치고, 다른 애플 리케이션이 거기에 올 것이거나 당신이 무언가를 설치할 필요가있을 순간에 다시 불을 붙이십시오.

는 VIRTUALENV

프로젝트를 VIRTUALENV 참조하여 분리 방식

에 파이썬 애플리케이션을 설치하기위한 마지막 두 개의 인기있는 선택권이 있습니다. 이 환경에 대한 파이썬 시스템과 다를이며이 그것을 위해 개인 설치된 모든 패키지를 유지할 수 있습니다 자신의 PYTHONPATH 설정의이 - 그것은 새로운 고립시키는 파이썬 환경의

  • 창조 할 수 있습니다.
  • 명령 줄 사용을 위해 명령 줄에서 주어진 virtualenv를 활성화 및 비활성화합니다. activate 이후에 pip install 등을 실행할 수 있으며 지정된 virtualenv 설치에만 영향을 미칩니다.
  • VIRTUALENV 파이썬 사본 시작하여 파이썬 스크립트를 호출 -이 관련 VIRTUALENV 사용합니다 (참고, 어떤 activate 호출 할 필요가 없음)이 패키지는 명령 buildout을 제공 zc.buildout

사용

가. 이를 통해 특별한 설정 파일을 사용할 수 있으며, 모든 패키지와 스크립트가있는 로컬 파이썬 환경을 만들 수 있습니다.

결론

  • virtualenv 오늘 더 인기 보인다 나는 훨씬 쉽게 배우고 사용할 찾을
  • zc.buildout 또한 당신을 위해 일하게 될 수도 있지만 긴 시간을
  • 설치를 배우는 조금 준비 시스템 파이썬 디렉토리는 매우 특별한 경우 (pip, easy_install)를 위해 항상 예약되어야하며, 더 잘 피하십시오. 개인 디렉토리와 manipulatig PYTHONPATH에 설치
  • 는 옵션입니다,하지만 당신은 아래로, virtualenv 이미
관련 문제