2011-02-06 5 views
0

다른 git repos를 많이 사용하는 프로젝트에서 작업합니다. 일부는 오픈 소스이고 일부는 폐쇄 소스입니다. 때때로 프로젝트의 오픈 소스와 비공개 소스 모두에 유용한 파이썬 코드가 작성되었지만 두 소스를 공유하는 것은 쉽지 않습니다.다른 git repo에있는 유연한 원격 라이브러리와 함께 Python을 사용하고 계십니까?

"스크립트를 실행하려는 모든 시스템에 라이브러리를 설치하십시오"라는 명백한 답을 가지고이 문제를 해결할 수있는 일반적인 방법이 있다면 궁금합니다. 그 이유가 실용적이지 않은 몇 가지 이유가 있습니다 우리 대답.

몇 가지 아이디어가 있습니다. 가장 간단한 방법은 공개 소스 라이브러리 repo를 사용하여 사람들이 스크립트를 사용하는 repo에서 스크립트를 실행하기 전에 동기화해야한다는 것입니다. 이 방법이 효과적 일지는 모르겠지만 매우 수동적이어서 오래된 버전이 있거나 도서관을 직접 동기화하는 것을 잊어 버리는 사람들과 같은 문제가 발생할 수 있습니다.

이와 비슷한 방법으로 볼 수있는 다른 방법은 모든 동기화를 처리하는 더미 파이썬 파일을 배포하고 가져 오기를 캡처하는 것입니다.

내가 달릴 예를 들어 : 그런 다음 다시 자식 클론 또는 자식이있는 favorite_lib의 REPO를 가져 오는 것 좋아하는 lib 디렉토리에 액세스해야 내가 각각의 repo에있는 더미 favorite_lib.py를 가져올 것 수입

favorite_lib 스크립트가있는 디렉토리. 나는 또한 같은 것을 할 싶습니다 염두에두고

: favorite_lib 수입에서

favorite_lib가 동기되는 것 및 디렉토리에서 commands.py 파일을 가져올 것입니다 명령.

위의 구현을 시도하지는 않았지만 대부분 가능하다고 생각합니다.

이 유스 케이스의 우선 순위가 누락 되었습니까? 다른 사람이 더 좋은 아이디어가 있습니까? 나는 주변의 수색을하고 실제로 많은 구체적인 대답이없는 많은 사람들에게 물었다.

답변

1
+0

이것은 확실히 흥미로운 아이디어입니다. 필자가 원하는만큼 자동으로 실행되는 것은 아니기 때문에 스크립트를 실행하는 사람들은 서브 모듈의 메커니즘을 인식하고 이에 따라 라이브러리를 업데이트해야합니다. 하지만 실제 서브 모듈 자체에서이를 처리하는 래퍼 스크립트를 만들 수 있습니다. 거기에 뭔가 더 자동적 인 것이 있는지 아직도 궁금합니다. 답장을 보내 주셔서 감사합니다. – ScottZ

+0

예, 유효 지점입니다. 그러나 서브 모듈은 서브 모듈의 어떤 개정판이 사용되고 있는지를 보장합니다. 그렇게하면 많은 팀과 팀 구성원간에 일관성을 보장 할 수 있습니다. – kelloti

관련 문제