나는 자식 프로젝트 (장고 응용 프로그램)를 가지고 있고 다른 응용 프로그램 (https://github.com/lambdafu/django-south)을 하위 트리로 추가하려고합니다. 문제는 타사 저장소가 루트에 추가 디렉토리 계층을 가지고 있다는 것입니다. 나는 파이썬의로드 경로를 망쳐 놓거나, 심볼릭 링크를 추가하거나, import 문에 여분의 접두사를 추가하고 싶지 않다. 내 프로젝트에서 하위 트리로 south
하위 디렉토리를 가져 오는 방법이 있습니까?다른 프로젝트의 하위 디렉토리를 서브 트리로 추가
답변
남쪽 프로젝트의 루트 디렉토리를 repo
이라고 부릅시다.
__init__.py
을 추가하여 repo
에 파이썬 모듈을 만든 다음 설치된 응용 프로그램에 repo.south
을 추가 할 수 있습니다. (here에서 차용)
또한 그래서 당신은 프로젝트의 특정 버전과 함께 남쪽의 특정 버전을 유지할 수 git submodule로 repo
를 추가 할 수 있습니다.
오른쪽, 이것은 "가져 오기 문에 여분의 접두사 추가"옵션입니다. 원하지 않습니다. 또한 서브 디렉토리에'__init __. py' 파일을 유지하는 것을 의미합니다. 서브 트리를 사용하면 아마도 병합 충돌을 일으키지 않는 하위 트리 라우트로 간다.하지만 하위 모듈을 사용하는 경우이를 유지하는 편리한 방법을 모른다. – Clueless
아 맞아요. 따라서 유일한 해결책은 디렉토리 구조를 전혀 변경하지 않는 것입니다. 내가 아는 한, 전체 자식 repo보다 적은 복제 방법은 없습니다. 내 생각에 심 링크는 끝나기 쉽습니다. 행운을 빕니다! – dokkaebi
종속성으로 South를 포함하려고합니까? 그게 그 소리 같기 때문이야. 그렇다면 프로젝트 트리에 디렉토리를 포함하는 것보다 더 좋은 방법이 있습니다. 그건 지저분하고 우리는 그것을위한 도구가 있습니다.
pip을 사용합니까? 약 virtualenv은 어떻습니까? 그렇다면, pip install -e git+https://github.com/lambdafu/django-south#egg=south
그리고 당신은 잘 갈 것입니다. 설치 후 최신 HEAD로 업데이트하려면 -U
플래그를 추가하기 만하면됩니다. req 파일 (pip freeze > requirements.txt
, pip install -r requirements.txt
)에 요구 사항을 유지하여 버전 제어를 유지할 수도 있습니다.
그렇지 않으면 왜 안 되니?
필자는 보통 pip를 사용하지만,이 경우에는 나가는 연결을 허용하지 않거나 시스템 전체의 파이썬 패키지를 추가하는 편집적인 sysadmin으로 서버에 배포하고 있습니다. 아이디어는 소스 트리에 모든 의존성을 가짐으로써 ssh에 대한 git push가 모두 필요한 것입니다. nodejs가 모듈을 수행하는 방식의 정렬. 어쩌면 나는 pip를 설치하고 번들 기능을 사용하도록 요청함으로써 해결할 수 있습니다. – Clueless
기존 virtualenv (tar + zip)에서 환경을 복사 한 다음 서버에서 확장 할 수 있습니다. 외부 연결이 필요하지 않습니다. –
정확히. 이는 시스템 전체 패키지 설치가 필요 없음을 의미합니다. 사용자가 Python 응용 프로그램을 실행하는 모든 사용자 공간에 virtualenv가 설치되어 있어야합니다. –
- 1. 트리를 다른 유형의 트리에 하위 트리로 추가
- 2. doc_root의 하위 디렉토리를 서브 도메인으로 사용하기위한 mod_rewrite
- 3. 다른 프로젝트의 종속성 추가
- 4. .htaccess 다른 도메인의 다른 하위 디렉토리에 하위 디렉토리를 다시 작성하십시오.
- 5. 기존 폴더를 git 하위 트리로 만들기
- 6. 다른 프로젝트의 디렉토리를 가리키는 Eclipse에서 프로젝트 만들기
- 7. git 다른 메인 저장소에 하위 디렉토리를 푸시
- 8. MDI가 다른 프로젝트의 하위 폼을 추가합니까?
- 9. 디렉토리를 하위 모듈로 분할
- 10. nb 프로젝트의 webapp 디렉토리를 변경하십시오.
- 11. 힘내 : 다른 지점에서 서브 모듈 추가
- 12. cvs에서 수퍼 프로젝트의 히스토리로 변환 한 하위 모듈 추가
- 13. 프로젝트의 lib 디렉토리를 아는 방법?
- 14. 서브 디렉토리를 특정 과거 상태로 영구적으로 재설정합니다.
- 15. Eclipe ADT 프로젝트의 기본 하위 문서는 어떻게 변경합니까?
- 16. emacs에서 서브 디렉토리를 재귀 적으로 제거합니다. dired
- 17. emacs org-mode에서 함수를 서브 트리로 제한하는 방법?
- 18. 다른 팀 프로젝트의 파일에 대한 참조 추가
- 19. Silverlight : 다른 프로젝트의 리소스 사전 추가
- 20. 서브 디렉토리를 재귀 적으로 탐색합니다.
- 21. mod 서브 디렉토리를 루트로 사용
- 22. git은 서브 디렉토리를 '추가하지 않습니다'
- 23. 서브 디렉토리를 호스팅하는 WordPress MU
- 24. 서브 디렉토리에서 다른 디렉토리로 리디렉션하는 방법은 무엇입니까? mod_rewrite를 사용하여 URI에서 원래 서브 디렉토리를 제거하는 방법
- 25. Android 프로젝트의 서브 버전 번호
- 26. 모든 모델 서브 디렉토리를 재귀 적으로 포함합니다.
- 27. 테스트 프로젝트의 빌드 디렉토리를 얻는 방법?
- 28. 하위 디렉토리를 htaccess의 하위 도메인으로 사용
- 29. 다른 서버에 하위 디렉토리
- 30. CoreData : 다른 프로젝트의 공통 기본 엔터티와 다른 하위 클래스
OHHHHHH - 오늘 나는 [git-subtree] (https://github.com/apenwarr/git-subtree)에 대해 배웠다. – dokkaebi
프로젝트 종속성으로 South를 포함하려고합니까? –
그 repo는 setup.py를 가지고 있습니다. 실제로 소스를 필요로하지 않는 한, 새로운 HEAD를 원할 때마다 repo를 설치하고 업데이트해야합니다. –