3
패키지를 개발하고 개발/테스트/etc 버전의 패키지를 로컬 devpi 서버에 업로드하고 있습니다. 제가 PyPi에 패키지를 업로드 할 마지막 준비가 경우에 대해 잘 작동하지만,--public이 업로드 명령에 전달되지 않는 한 PyPi로 패키지 업로드를 비활성화하는 방법
setup(...,
classifiers=[
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Private :: Do not Upload"
],
...)
: PyPi에 실수로 업로드를 방지하기 위해
, 나는의 일반적인 관행을 채택하고있어?
나는 보이는 설정() 호출 외부에서 전역 변수로 분류의 정의가 필요합니다 완전히 추한하지만, 간단한 해킹을 마련했습니다 같은 : 아마도
CLASSIFIERS = [
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7"
]
if "--public" not in sys.argv:
CLASSIFIERS.append("Private :: Do Not Upload")
else:
sys.argv.remove("--public")
setup(...
classifiers=CLASSIFIERS,
...)
또 다른, 그리고 더 단순한 옵션은 단순히 "개인 정보 :: 업로드하지 마라."라고 말하면서 해킹보다 더 전문적인 것으로 보이지 않습니다. 내가 업로드 명령의 적절한 서브 클래스를 생성 할 일은 같은 을했던 것과
는 SafeUpload
에게 전화가 --public
cmd를 줄 옵션을 확인합니다. 아마도 업로드하기 전에 빌드가 존재할 수 있으므로 SafeBuild
이 더 나은 옵션 일 수 있습니다.
불행히도 사용자 정의 명령 작성에 대한 setuptools 문서를 이해하는 데 어려움이 있습니다.
누구든지 구현 방법을 알고 있습니까? 사용자 정의 명령이 setup()
으로 전달 된 매개 변수에 액세스 할 수 있는지, 즉 을 setup()
으로 직접 조작 할 수 있는지 또는 명령 사용자가 CLASSIFIERS를 전역으로 정의하는 규칙을 따르도록 요구하는지 여부는 분명하지 않습니다. 변수 yuck?