Я хотел бы создать простой проект на Python, и документация по nixos была полезной. Итак, у меня есть shell.nix файл со следующим содержимым:
with import <nixpkgs> {};
(
python3.withPackages (ps: [ps.ipython ps.flask ps.pytest])
).env
Затем я запускаю nix-shell в папке проекта, и все выглядит нормально.
Проблема, с которой я столкнулся, заключается в том, что я хочу добавить pytest-bdd , но похоже, что он не упакован для NixOS, поскольку nix search pytest-bdd не делает \не возвращает никаких результатов.
Поэтому я пытаюсь вести себя вместо pytest-bdd , поскольку он уже упакован для NixOS, но, к сожалению, ведет себя бинарный файл недоступен, в то время как ipython и колба есть. И ведут себя статистика документации, бинарный файл должен быть доступен.
Поэтому я решил попробовать другой подход для pytest-bdd , и я последовал примеру на https://nixos.org/nixpkgs/manual/#python (15.17.1.2.1. Упаковка библиотеки).
with import <nixpkgs> {};
(
let
my_pytestbdd = python37.pkgs.buildPythonPackage rec {
pname = "pytest-bdd";
version = "3.2.1";
src = python37.pkgs.fetchPypi {
inherit pname version;
sha256 = "1ibyr40g3p6xbx1m59as3s9spyadz8wyc7zwqyzibphrw4pkvrqp";
};
doCheck = false;
meta = {
homepage = "https://github.com/pytest-dev/pytest-bdd/";
description = "BDD library for the py.test runner";
};
};
in python37.withPackages (ps: [ps.ipython ps.flask ps.pytest ps.glob2 my_pytestbdd])
).env
И я застрял с этим сообщением:
Processing ./pytest_bdd-3.2.1-py2.py3-none-any.whl
Collecting glob2 (from pytest-bdd==3.2.1)
ERROR: Could not find a version that satisfies the requirement glob2 (from pytest-bdd==3.2.1) (from versions: none)
ERROR: No matching distribution found for glob2 (from pytest-bdd==3.2.1)
builder for '/nix/store/d94madfidxgn5r0k9kivfidn4p2cvyjk-python3.7-pytest-bdd-3.2.1.drv' failed with exit code 1
cannot build derivation '/nix/store/ypc7hpylzvmxx8lmk5cfg8jfhrfalzgn-python3-3.7.5-env.drv': 1 dependencies couldn't be built
error: build of '/nix/store/ypc7hpylzvmxx8lmk5cfg8jfhrfalzgn-python3-3.7.5-env.drv' failed