Open akotulski opened 2 years ago
I tried with cryptography>=3.4.8
just now, and was able to install it just fine.
It installed cryptography
36.0, which is the version provided by Nixpkgs, but it still failed to install 37.0. This is the error message:
Some requirements could not be resolved.
Top level requirements:
#poetry cryptography>=37.0
Providers:
{'_default': ['wheel', 'sdist', 'nixpkgs'],
'gdal': ['nixpkgs'],
'pip': ['nixpkgs', 'sdist'],
'setupmeta': ['wheel'],
'setuptools': ['nixpkgs'],
'wheel': ['nixpkgs', 'sdist']}
Mach-nix version: 3.4.0
Python: 3.9.9
Cause: Requirements conflict: cryptography (<SpecifierSet('>=37.0')>,)
The requirements which caused the error:
cryptography (<SpecifierSet('>=37.0')>,)
The given requirements might contain package versions which are not yet part of the dependency DB
currently used. The DB can be updated by specifying 'pypiDataRev' when importing mach-nix.
The error recorded in pypi-deps-db is
"cryptography": {
"3.4": {
"27": "ImportError: No module named setuptools_rust",
"36": "ModuleNotFoundError: No module named 'setuptools_rust'",
"37": "36",
"38": "36",
"39": "36",
"310": "36"
},
"3.4.1": "3.4",
"3.4.2": "3.4",
"3.4.3": "3.4",
"3.4.4": "3.4",
"3.4.5": "3.4",
"3.4.6": "3.4",
"3.4.7": "3.4",
"3.4.8": "3.4",
"35.0.0": {
"27": "SyntaxError: invalid syntax",
"36": "ModuleNotFoundError: No module named 'setuptools_rust'",
"37": "36",
"38": "36",
"39": "36",
"310": "36"
},
"36.0.0": "35.0.0",
"36.0.1": "35.0.0",
"36.0.2": "35.0.0",
"37.0.0": "35.0.0",
"37.0.1": "35.0.0",
"37.0.2": "35.0.0"
},
I'm encountering the same issue. I can install 3.3.2, 36.0.2, but nothing in between or greater then 36.
Here is a flake to demonstrate:
{
description = "Mach Nix Test";
inputs = {
nixpkgs.url = github:NixOS/nixpkgs/nixos-22.05;
flake-utils = {
url = github:numtide/flake-utils;
inputs.nixpkgs.follows = "nixpkgs";
};
pypi-deps-db = {
url = github:DavHau/pypi-deps-db;
inputs.mach-nix.follows = "mach-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
mach-nix = {
url = github:DavHau/mach-nix;
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
inputs.pypi-deps-db.follows = "pypi-deps-db";
};
};
outputs = { self, nixpkgs, flake-utils, mach-nix, pypi-deps-db }:
let
ghcVersion = "8107";
compiler = "ghc${ghcVersion}";
defaultSystems = [
"aarch64-linux"
"aarch64-darwin"
"i686-linux"
"x86_64-darwin"
"x86_64-linux"
];
in
flake-utils.lib.eachSystem defaultSystems (system:
let
pkgs = import nixpkgs {
inherit system;
config = { allowUnfree = true; };
};
in
rec {
devShell =
let
pytestEnv = mach-nix.lib."${system}".mkPython {
requirements =
''
cryptography==37.0.2
'';
};
in
pkgs.mkShell {
buildInputs = [pytestEnv];
};
});
}
EDIT: I am able to build 3.4.8 if i use nixpkgs 21.11
I am unable to install new cryptography packages even though I used the newest pypi database as of today. I believe it may be related to https://github.com/DavHau/pypi-deps-db/issues/2
Repro:
default.nix
fileError message (via
nix-shell
):