How can I resolve a package version dependency issue? Should I add an overlay to my flake?
I installed the AWS CLI v2 package (see flake below), however, upon executing any command, e.g., aws --version
, I receive the error included below.
Essentially, AWS CLI v2 transitively relies on specific ciphers found within versions less than 2.0 of Urllib3. Apparently, the AWS CLI v2 package does stipulate a version less than 2.0 (i.e., 1.26.18), but somehow a newer version, e.g., v2.0.7, is installed (see below error).
Traceback (most recent call last):
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/bin/.aws-wrapped”, line 20, in
import awscli.clidriver
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/clidriver.py”, line 21, in
import botocore.session
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/session.py”, line 27, in
import botocore.client
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/client.py”, line 16, in
from botocore import UNSIGNED, waiter, xform_name
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/waiter.py”, line 17, in
from botocore.docs.docstring import WaiterDocstring
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/docs/init.py”, line 15, in
from botocore.docs.service import ServiceDocumenter
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/docs/service.py”, line 14, in
from botocore.docs.client import ClientDocumenter, ClientExceptionsDocumenter
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/docs/client.py”, line 16, in
from botocore.docs.example import ResponseExampleDocumenter
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/docs/example.py”, line 13, in
from botocore.docs.shape import ShapeDocumenter
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/docs/shape.py”, line 19, in
from botocore.utils import is_json_value_header
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/utils.py”, line 33, in
import botocore.httpsession
File “/nix/store/iblfnc4k15nkyzn1idgffwha8msf0mbr-awscli2-2.13.33/lib/python3.11/site-packages/awscli/botocore/httpsession.py”, line 21, in
from urllib3.util.ssl_ import (
ImportError: cannot import name ‘DEFAULT_CIPHERS’ from ‘urllib3.util.ssl_’ (/nix/store/0hqxlnv2k8vay7acydvd3mdnp0hwf205-python3.11-urllib3-2.0.7/lib/python3.11/site-packages/urllib3/util/ssl_.py)
{
description = "Development shell.";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
poetry2nix = {
url = "github:nix-community/poetry2nix";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
};
outputs = { self, nixpkgs, nixpkgs-unstable, poetry2nix, ... } @ inputs:
let
system = "aarch64-darwin";
pkgs = import nixpkgs { inherit system; };
py = pkgs.python3;
pypkgs = py.withPackages (p: with p; [ botocore boto3 ipython jsonpatch kubernetes pyyaml ]);
in
{
devShells.${system}.default = pkgs.mkShell {
packages = with pkgs; [
ansible_2_14
awscli2
nodejs_18
nodePackages.prettier
pypkgs
terraform
terraform-ls
];
};
};
}