Eu tentei várias coisas para fazer meu projeto criar uma result-dist
pasta com uma roda que eu possa publicar no PyPI . De alguma forma, mesmo que eu esteja usando uma versão nixpkgs pythonOutputDistHook
, eu só recebo uma result
pasta, não uma result-dist
pasta.
Minha investigação até agora:
pythonOutputDistHook
é opcional com base emwithDistOutput
.withDistOutput
é verdadeiro seformat
contém um de["pyproject" "setuptools" "flit"]
.format ? "setuptools"
e meu código não defineformat
, entãopythonOutputDistHook
deve ser incluído.Eu verifiquei que
pythonOutputDistHook
está no meu nixpkgs :$ 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
Algo poderia estar injetando um pkgs
argumento diferente em um dos arquivos Nix?
O construtor padrão do Nixpkgs (
stdenv.mkDerivation
) pode criar várias saídas. Algumas saídas típicas são a saída padrão, masout
tambémlib
, e . Qualquer derivação pode especificar quais saídas ela cria. As saídas podem ser referidas diretamente:bin
dev
doc
Desde recentemente,
buildPythonPackage
(que chamastdenv.mkDerivation
nos bastidores), cria umadist
saída que contém artefatos para distribuição, especificamente, rodas: