2014-04-28 4 views
3

저는 여러 개의 파이썬 패키지를 빌드 중이며 모든 패키지가 성공적으로 빌드 된 경우에만 업로드하려고합니다. 모든 sdist이 마지막 단계로 옮겨져 각각의 파이썬 패키지에 대해 별도의 스테이지가 있습니다.이 스테이지는 모두 수집 된 sdist을 업로드해야합니다 (빌드가 최종 단계에 도달하면 모든 패키지가 성공적으로 빌드되었습니다).파이썬은 sdist를 생성하고 별도의 단계로 업로드합니다.

지금, 내가 원하는 것을 얻기 위해 python setup.py sdist을 실행 한 다음 python setup.py upload [path]을 실행하는 방법이 있습니까? 아니면 더 좋은 방법이 있을까요?

피씨 : 도움이된다면 Bamboo를 사용하고 있습니다.

+0

Bamboo 란 무엇입니까? –

답변

3

현재 업로드는 distutils sdist/bdist 명령에 의해 생성 된 파일 만 업로드와 동일한 명령 줄에서 실행합니다. python setup.py sdist upload. sdist을 실행하고 결과를 확인한 다음 sdist upload을 실행하면 setup.py가 버그가 있거나 파일을 변경했거나 컴퓨터에 문제가있는 경우를 제외하고는 두 번째 sdist가 정확히 같아야합니다. (나는 동의하지 않는 한 많이 동의한다).

두 번째 sdist가 모든 작업을 다시하지 않도록하려면 트릭을 사용하십시오. 주먹을 python setup.py sdist --keep-temp으로 실행 한 다음 sdist를 확인하고 업로드하려면 python setup.py sdist --dry-run upload으로 전화하십시오.

다음 기능 릴리스에서이 문제를 개선하기 위해 오픈 개선 요청이 있습니다 : http://bugs.python.org/issue12944

한편, 당신은 twine을 사용할 수 있습니다.

+0

내 sdist 메커니즘은 좀 더 복잡합니다. 그래서 한 곳에서, 그리고 다른 곳에서 업로드해야했습니다. 모든 복잡한 작업을 두 번 수행하면 아무 것도 얻지 못합니다. 그것이 내가 놓쳤던 이것을하는 또 다른 방법이었다라고 생각했다. – linkyndy

+0

수정 된 답변은 꼬기에 포함됩니다. –

+0

꼬마가 꽤 좋은 것 같습니다. 고맙습니다! – linkyndy