나는 프로젝트를 완료하기 위해 여러 가지 방법을 시도했습니다.result-dist
PyPI에 게시할 수 있는 휠이 있는 폴더 생성. 어떻게 든 nixpkgs 버전을 사용하고 있지만pythonOutputDistHook
그 안에는 폴더 result
가 아닌 폴더 만 표시됩니다 result-dist
.
지금까지 내가 조사한 내용은 다음과 같습니다.
pythonOutputDistHook
선택 사항이며 를 기반으로 합니다withDistOutput
.withDistOutput
format
다음 중 하나가 포함되어 있으면 참입니다["pyproject" "setuptools" "flit"]
.format ? "setuptools"
내 코드가 설정되어 있지 않으므로format
포함pythonOutputDistHook
해야 합니다.pythonOutputDistHook
들어있는 걸 확인했어요내 닉스 포장:$ cd nixpkgs $ git checkout 9c14978f845f33b152f722709caf42148580a30c HEAD is now at 9c14978f845 Merge master into staging-next $ git grep pythonOutputDistHook pkgs/development/interpreters/python/hooks/default.nix: pythonOutputDistHook = callPackage ({ }: pkgs/development/interpreters/python/mk-python-derivation.nix:, pythonOutputDistHook pkgs/development/interpreters/python/mk-python-derivation.nix: pythonOutputDistHook pkgs/top-level/python-packages.nix: pythonOutputDistHook
pkgs
Nix 파일 중 하나에 다른 매개변수를 주입하는 것이 있습니까 ?
답변1
Nixpkgs( )의 표준 빌더는 stdenv.mkDerivation
여러 출력을 생성할 수 있습니다. 일부 일반적인 출력은 기본 출력 이지만 , 및 도 out
있습니다 . 모든 파생물은 생성되는 출력을 지정할 수 있습니다. 출력을 직접 참조할 수 있습니다.lib
bin
dev
doc
$ nix-build -A bash.dev
/nix/store/pji7665awsg1fcp2irhnfm3508lvsgh0-bash-5.1-p16-dev
최근에 ( buildPythonPackage
비하인드 씬이라고 함) 배포용 아티팩트, 특히 바퀴가 포함된 출력을 생성했습니다.stdenv.mkDerivation
dist
$ find $(nix-build -A python3.pkgs.pytest.dist)
/nix/store/flg6ahbbmppq5vpjcxdhzs9fz7dx86vq-python3.10-pytest-7.1.3-dist
/nix/store/flg6ahbbmppq5vpjcxdhzs9fz7dx86vq-python3.10-pytest-7.1.3-dist/pytest-7.1.3-py3-none-any.whl