Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Cannot install salt on Python 3.10 with setuptools 67+. #63621

Open
2 of 9 tasks
michael-k opened this issue Feb 3, 2023 · 1 comment
Open
2 of 9 tasks

[BUG] Cannot install salt on Python 3.10 with setuptools 67+. #63621

michael-k opened this issue Feb 3, 2023 · 1 comment
Labels
Bug broken, incorrect, or confusing behavior needs-triage

Comments

@michael-k
Copy link

Description

Setup
(Please provide relevant configs and/or SLS files (be sure to remove sensitive info. There is no general set-up of Salt.)

Please be as specific as possible and give set-up details.

  • on-prem machine
  • VM (Virtualbox, KVM, etc. please specify)
  • VM running on a cloud service, please be explicit and add details
  • container (Kubernetes, Docker, containerd, etc. please specify)
  • or a combination, please be explicit
  • jails if it is FreeBSD
  • classic packaging
  • onedir packaging
  • used bootstrap to install

This problem occurs at least on Linux. I haven't tried Windows or MacOS (don't have access to those OS). The instructions provided under Steps to Reproduce the behavior are sufficient to reproduce this.

Steps to Reproduce the behavior
(Include debug logs if possible and relevant)

Dockerfile:

FROM python:3.10-slim-bullseye

RUN python -m pip install --upgrade "pip==23.0" "setuptools==67.1.0"
RUN apt-get update && apt-get install -y git
RUN python -m pip install "git+https://github.com/saltstack/salt.git@master#egg=salt"

Command: docker build --pull --no-cache --tag=tmp:salt .

Command output:
Sending build context to Docker daemon    256kB
Step 1/4 : FROM python:3.10-slim-bullseye
3.10-slim-bullseye: Pulling from library/python
Digest: sha256:e04bc5390a13e6e910980715f1156552fbd3deddf7668e1892575989f9504c70
Status: Image is up to date for python:3.10-slim-bullseye
 ---> 9abec912bb76
Step 2/4 : RUN python -m pip install --upgrade "pip==23.0" "setuptools==67.1.0"
 ---> Running in ac04154f2316
Collecting pip==23.0
  Downloading pip-23.0-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 5.1 MB/s eta 0:00:00
Collecting setuptools==67.1.0
  Downloading setuptools-67.1.0-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 5.8 MB/s eta 0:00:00
Installing collected packages: setuptools, pip
  Attempting uninstall: setuptools
    Found existing installation: setuptools 65.5.1
    Uninstalling setuptools-65.5.1:
      Successfully uninstalled setuptools-65.5.1
  Attempting uninstall: pip
    Found existing installation: pip 22.3.1
    Uninstalling pip-22.3.1:
      Successfully uninstalled pip-22.3.1
Successfully installed pip-23.0 setuptools-67.1.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended
to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Removing intermediate container ac04154f2316
 ---> b7bc500d93ec
Step 3/4 : RUN apt-get update && apt-get install -y git
 ---> Running in 3cf3b927b737
Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:2 http://deb.debian.org/debian-security bullseye-security InRelease [48.4 kB]
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB]
Get:4 http://deb.debian.org/debian bullseye/main amd64 Packages [8183 kB]
Get:5 http://deb.debian.org/debian-security bullseye-security/main amd64 Packages [222 kB]
Get:6 http://deb.debian.org/debian bullseye-updates/main amd64 Packages [14.6 kB]
Fetched 8628 kB in 3s (2988 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  git-man less libbrotli1 libbsd0 libcbor0 libcurl3-gnutls libedit2
  liberror-perl libfido2-1 libgdbm-compat4 libldap-2.4-2 libldap-common libmd0
  libnghttp2-14 libperl5.32 libpsl5 librtmp1 libsasl2-2 libsasl2-modules
  libsasl2-modules-db libssh2-1 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
  libxext6 libxmuu1 openssh-client patch perl perl-modules-5.32 publicsuffix
  xauth
Suggested packages:
  gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email
  git-gui gitk gitweb git-cvs git-mediawiki git-svn sensible-utils
  libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal
  libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql keychain
  libpam-ssh monkeysphere ssh-askpass ed diffutils-doc perl-doc
  libterm-readline-gnu-perl | libterm-readline-perl-perl make
  libtap-harness-archive-perl
The following NEW packages will be installed:
  git git-man less libbrotli1 libbsd0 libcbor0 libcurl3-gnutls libedit2
  liberror-perl libfido2-1 libgdbm-compat4 libldap-2.4-2 libldap-common libmd0
  libnghttp2-14 libperl5.32 libpsl5 librtmp1 libsasl2-2 libsasl2-modules
  libsasl2-modules-db libssh2-1 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
  libxext6 libxmuu1 openssh-client patch perl perl-modules-5.32 publicsuffix
  xauth
0 upgraded, 35 newly installed, 0 to remove and 0 not upgraded.
Need to get 19.2 MB of archives.
After this operation, 98.8 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main amd64 perl-modules-5.32 all 5.32.1-4+deb11u2 [2823 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 libgdbm-compat4 amd64 1.19-2 [44.7 kB]
Get:3 http://deb.debian.org/debian bullseye/main amd64 libperl5.32 amd64 5.32.1-4+deb11u2 [4106 kB]
Get:4 http://deb.debian.org/debian bullseye/main amd64 perl amd64 5.32.1-4+deb11u2 [293 kB]
Get:5 http://deb.debian.org/debian bullseye/main amd64 less amd64 551-2 [133 kB]
Get:6 http://deb.debian.org/debian bullseye/main amd64 libmd0 amd64 1.0.3-3 [28.0 kB]
Get:7 http://deb.debian.org/debian bullseye/main amd64 libbsd0 amd64 0.11.3-1 [108 kB]
Get:8 http://deb.debian.org/debian bullseye/main amd64 libedit2 amd64 3.1-20191231-2+b1 [96.7 kB]
Get:9 http://deb.debian.org/debian bullseye/main amd64 libcbor0 amd64 0.5.0+dfsg-2 [24.0 kB]
Get:10 http://deb.debian.org/debian bullseye/main amd64 libfido2-1 amd64 1.6.0-2 [53.3 kB]
Get:11 http://deb.debian.org/debian bullseye/main amd64 openssh-client amd64 1:8.4p1-5+deb11u1 [929 kB]
Get:12 http://deb.debian.org/debian bullseye/main amd64 libbrotli1 amd64 1.0.9-2+b2 [279 kB]
Get:13 http://deb.debian.org/debian bullseye/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg-2.1+deb11u1 [69.1 kB]
Get:14 http://deb.debian.org/debian bullseye/main amd64 libsasl2-2 amd64 2.1.27+dfsg-2.1+deb11u1 [106 kB]
Get:15 http://deb.debian.org/debian bullseye/main amd64 libldap-2.4-2 amd64 2.4.57+dfsg-3+deb11u1 [232 kB]
Get:16 http://deb.debian.org/debian bullseye/main amd64 libnghttp2-14 amd64 1.43.0-1 [77.1 kB]
Get:17 http://deb.debian.org/debian bullseye/main amd64 libpsl5 amd64 0.21.0-1.2 [57.3 kB]
Get:18 http://deb.debian.org/debian bullseye/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b2 [60.8 kB]
Get:19 http://deb.debian.org/debian bullseye/main amd64 libssh2-1 amd64 1.9.0-2 [156 kB]
Get:20 http://deb.debian.org/debian-security bullseye-security/main amd64 libcurl3-gnutls amd64 7.74.0-1.3+deb11u5 [343 kB]
Get:21 http://deb.debian.org/debian bullseye/main amd64 liberror-perl all 0.17029-1 [31.0 kB]
Get:22 http://deb.debian.org/debian-security bullseye-security/main amd64 git-man all 1:2.30.2-1+deb11u1 [1829 kB]
Get:23 http://deb.debian.org/debian-security bullseye-security/main amd64 git amd64 1:2.30.2-1+deb11u1 [5514 kB]
Get:24 http://deb.debian.org/debian bullseye/main amd64 libldap-common all 2.4.57+dfsg-3+deb11u1 [95.8 kB]
Get:25 http://deb.debian.org/debian bullseye/main amd64 libsasl2-modules amd64 2.1.27+dfsg-2.1+deb11u1 [104 kB]
Get:26 http://deb.debian.org/debian bullseye/main amd64 libxau6 amd64 1:1.0.9-1 [19.7 kB]
Get:27 http://deb.debian.org/debian bullseye/main amd64 libxdmcp6 amd64 1:1.1.2-3 [26.3 kB]
Get:28 http://deb.debian.org/debian bullseye/main amd64 libxcb1 amd64 1.14-3 [140 kB]
Get:29 http://deb.debian.org/debian bullseye/main amd64 libx11-data all 2:1.7.2-1 [311 kB]
Get:30 http://deb.debian.org/debian bullseye/main amd64 libx11-6 amd64 2:1.7.2-1 [772 kB]
Get:31 http://deb.debian.org/debian bullseye/main amd64 libxext6 amd64 2:1.3.3-1.1 [52.7 kB]
Get:32 http://deb.debian.org/debian bullseye/main amd64 libxmuu1 amd64 2:1.1.2-2+b3 [23.9 kB]
Get:33 http://deb.debian.org/debian bullseye/main amd64 patch amd64 2.7.6-7 [128 kB]
Get:34 http://deb.debian.org/debian bullseye/main amd64 publicsuffix all 20220811.1734-0+deb11u1 [127 kB]
Get:35 http://deb.debian.org/debian bullseye/main amd64 xauth amd64 1:1.1-1 [40.5 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 19.2 MB in 3s (5719 kB/s)
Selecting previously unselected package perl-modules-5.32.
(Reading database ... 7031 files and directories currently installed.)
Preparing to unpack .../00-perl-modules-5.32_5.32.1-4+deb11u2_all.deb ...
Unpacking perl-modules-5.32 (5.32.1-4+deb11u2) ...
Selecting previously unselected package libgdbm-compat4:amd64.
Preparing to unpack .../01-libgdbm-compat4_1.19-2_amd64.deb ...
Unpacking libgdbm-compat4:amd64 (1.19-2) ...
Selecting previously unselected package libperl5.32:amd64.
Preparing to unpack .../02-libperl5.32_5.32.1-4+deb11u2_amd64.deb ...
Unpacking libperl5.32:amd64 (5.32.1-4+deb11u2) ...
Selecting previously unselected package perl.
Preparing to unpack .../03-perl_5.32.1-4+deb11u2_amd64.deb ...
Unpacking perl (5.32.1-4+deb11u2) ...
Selecting previously unselected package less.
Preparing to unpack .../04-less_551-2_amd64.deb ...
Unpacking less (551-2) ...
Selecting previously unselected package libmd0:amd64.
Preparing to unpack .../05-libmd0_1.0.3-3_amd64.deb ...
Unpacking libmd0:amd64 (1.0.3-3) ...
Selecting previously unselected package libbsd0:amd64.
Preparing to unpack .../06-libbsd0_0.11.3-1_amd64.deb ...
Unpacking libbsd0:amd64 (0.11.3-1) ...
Selecting previously unselected package libedit2:amd64.
Preparing to unpack .../07-libedit2_3.1-20191231-2+b1_amd64.deb ...
Unpacking libedit2:amd64 (3.1-20191231-2+b1) ...
Selecting previously unselected package libcbor0:amd64.
Preparing to unpack .../08-libcbor0_0.5.0+dfsg-2_amd64.deb ...
Unpacking libcbor0:amd64 (0.5.0+dfsg-2) ...
Selecting previously unselected package libfido2-1:amd64.
Preparing to unpack .../09-libfido2-1_1.6.0-2_amd64.deb ...
Unpacking libfido2-1:amd64 (1.6.0-2) ...
Selecting previously unselected package openssh-client.
Preparing to unpack .../10-openssh-client_1%3a8.4p1-5+deb11u1_amd64.deb ...
Unpacking openssh-client (1:8.4p1-5+deb11u1) ...
Selecting previously unselected package libbrotli1:amd64.
Preparing to unpack .../11-libbrotli1_1.0.9-2+b2_amd64.deb ...
Unpacking libbrotli1:amd64 (1.0.9-2+b2) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../12-libsasl2-modules-db_2.1.27+dfsg-2.1+deb11u1_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-2.1+deb11u1) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../13-libsasl2-2_2.1.27+dfsg-2.1+deb11u1_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.27+dfsg-2.1+deb11u1) ...
Selecting previously unselected package libldap-2.4-2:amd64.
Preparing to unpack .../14-libldap-2.4-2_2.4.57+dfsg-3+deb11u1_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.57+dfsg-3+deb11u1) ...
Selecting previously unselected package libnghttp2-14:amd64.
Preparing to unpack .../15-libnghttp2-14_1.43.0-1_amd64.deb ...
Unpacking libnghttp2-14:amd64 (1.43.0-1) ...
Selecting previously unselected package libpsl5:amd64.
Preparing to unpack .../16-libpsl5_0.21.0-1.2_amd64.deb ...
Unpacking libpsl5:amd64 (0.21.0-1.2) ...
Selecting previously unselected package librtmp1:amd64.
Preparing to unpack .../17-librtmp1_2.4+20151223.gitfa8646d.1-2+b2_amd64.deb ...
Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Selecting previously unselected package libssh2-1:amd64.
Preparing to unpack .../18-libssh2-1_1.9.0-2_amd64.deb ...
Unpacking libssh2-1:amd64 (1.9.0-2) ...
Selecting previously unselected package libcurl3-gnutls:amd64.
Preparing to unpack .../19-libcurl3-gnutls_7.74.0-1.3+deb11u5_amd64.deb ...
Unpacking libcurl3-gnutls:amd64 (7.74.0-1.3+deb11u5) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../20-liberror-perl_0.17029-1_all.deb ...
Unpacking liberror-perl (0.17029-1) ...
Selecting previously unselected package git-man.
Preparing to unpack .../21-git-man_1%3a2.30.2-1+deb11u1_all.deb ...
Unpacking git-man (1:2.30.2-1+deb11u1) ...
Selecting previously unselected package git.
Preparing to unpack .../22-git_1%3a2.30.2-1+deb11u1_amd64.deb ...
Unpacking git (1:2.30.2-1+deb11u1) ...
Selecting previously unselected package libldap-common.
Preparing to unpack .../23-libldap-common_2.4.57+dfsg-3+deb11u1_all.deb ...
Unpacking libldap-common (2.4.57+dfsg-3+deb11u1) ...
Selecting previously unselected package libsasl2-modules:amd64.
Preparing to unpack .../24-libsasl2-modules_2.1.27+dfsg-2.1+deb11u1_amd64.deb ...
Unpacking libsasl2-modules:amd64 (2.1.27+dfsg-2.1+deb11u1) ...
Selecting previously unselected package libxau6:amd64.
Preparing to unpack .../25-libxau6_1%3a1.0.9-1_amd64.deb ...
Unpacking libxau6:amd64 (1:1.0.9-1) ...
Selecting previously unselected package libxdmcp6:amd64.
Preparing to unpack .../26-libxdmcp6_1%3a1.1.2-3_amd64.deb ...
Unpacking libxdmcp6:amd64 (1:1.1.2-3) ...
Selecting previously unselected package libxcb1:amd64.
Preparing to unpack .../27-libxcb1_1.14-3_amd64.deb ...
Unpacking libxcb1:amd64 (1.14-3) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../28-libx11-data_2%3a1.7.2-1_all.deb ...
Unpacking libx11-data (2:1.7.2-1) ...
Selecting previously unselected package libx11-6:amd64.
Preparing to unpack .../29-libx11-6_2%3a1.7.2-1_amd64.deb ...
Unpacking libx11-6:amd64 (2:1.7.2-1) ...
Selecting previously unselected package libxext6:amd64.
Preparing to unpack .../30-libxext6_2%3a1.3.3-1.1_amd64.deb ...
Unpacking libxext6:amd64 (2:1.3.3-1.1) ...
Selecting previously unselected package libxmuu1:amd64.
Preparing to unpack .../31-libxmuu1_2%3a1.1.2-2+b3_amd64.deb ...
Unpacking libxmuu1:amd64 (2:1.1.2-2+b3) ...
Selecting previously unselected package patch.
Preparing to unpack .../32-patch_2.7.6-7_amd64.deb ...
Unpacking patch (2.7.6-7) ...
Selecting previously unselected package publicsuffix.
Preparing to unpack .../33-publicsuffix_20220811.1734-0+deb11u1_all.deb ...
Unpacking publicsuffix (20220811.1734-0+deb11u1) ...
Selecting previously unselected package xauth.
Preparing to unpack .../34-xauth_1%3a1.1-1_amd64.deb ...
Unpacking xauth (1:1.1-1) ...
Setting up libxau6:amd64 (1:1.0.9-1) ...
Setting up libpsl5:amd64 (0.21.0-1.2) ...
Setting up perl-modules-5.32 (5.32.1-4+deb11u2) ...
Setting up libbrotli1:amd64 (1.0.9-2+b2) ...
Setting up libcbor0:amd64 (0.5.0+dfsg-2) ...
Setting up libsasl2-modules:amd64 (2.1.27+dfsg-2.1+deb11u1) ...
Setting up libnghttp2-14:amd64 (1.43.0-1) ...
Setting up less (551-2) ...
Setting up libldap-common (2.4.57+dfsg-3+deb11u1) ...
Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-2.1+deb11u1) ...
Setting up libx11-data (2:1.7.2-1) ...
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Setting up patch (2.7.6-7) ...
Setting up libgdbm-compat4:amd64 (1.19-2) ...
Setting up libperl5.32:amd64 (5.32.1-4+deb11u2) ...
Setting up libsasl2-2:amd64 (2.1.27+dfsg-2.1+deb11u1) ...
Setting up libmd0:amd64 (1.0.3-3) ...
Setting up git-man (1:2.30.2-1+deb11u1) ...
Setting up libssh2-1:amd64 (1.9.0-2) ...
Setting up libfido2-1:amd64 (1.6.0-2) ...
Setting up libbsd0:amd64 (0.11.3-1) ...
Setting up publicsuffix (20220811.1734-0+deb11u1) ...
Setting up libxdmcp6:amd64 (1:1.1.2-3) ...
Setting up libxcb1:amd64 (1.14-3) ...
Setting up libedit2:amd64 (3.1-20191231-2+b1) ...
Setting up libldap-2.4-2:amd64 (2.4.57+dfsg-3+deb11u1) ...
Setting up libcurl3-gnutls:amd64 (7.74.0-1.3+deb11u5) ...
Setting up perl (5.32.1-4+deb11u2) ...
Setting up libx11-6:amd64 (2:1.7.2-1) ...
Setting up libxmuu1:amd64 (2:1.1.2-2+b3) ...
Setting up openssh-client (1:8.4p1-5+deb11u1) ...
Setting up libxext6:amd64 (2:1.3.3-1.1) ...
Setting up liberror-perl (0.17029-1) ...
Setting up git (1:2.30.2-1+deb11u1) ...
Setting up xauth (1:1.1-1) ...
Processing triggers for libc-bin (2.31-13+deb11u5) ...
Removing intermediate container 3cf3b927b737
 ---> 03340af81ce6
Step 4/4 : RUN python -m pip install "git+https://github.com/saltstack/salt.git@master#egg=salt"
 ---> Running in 74e98d2780bd
Collecting salt
  Cloning https://github.com/saltstack/salt.git (to revision master) to /tmp/pip-install-s8h7vuyv/salt_5b20e7f8ab1041ed806f4808bbde572a
  Running command git clone --filter=blob:none --quiet https://github.com/saltstack/salt.git /tmp/pip-install-s8h7vuyv/salt_5b20e7f8ab1041ed806f4808bb
de572a
  Resolved https://github.com/saltstack/salt.git to commit cd822a81241887258f7581830e7e19fd6bb7e0f3
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting requests>=1.0.0
  Downloading requests-2.28.2-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 989.4 kB/s eta 0:00:00
Collecting pyzmq>19.0.2
  Downloading pyzmq-25.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 4.9 MB/s eta 0:00:00
  Downloading pyzmq-20.0.0.tar.gz (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 5.2 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [43 lines of output]


              It is possible a package already installed in your system
              contains an version that is invalid according to PEP 440.
              You can try `pip install --use-pep517` as a workaround for this problem,
              or rely on a new virtual environment.

              If the problem refers to a package that is not installed yet,
              please contact that package's maintainers or distributors.


      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-s8h7vuyv/pyzmq_ce54f5377d074135b5d009a889f19706/setup.py", line 1378, in <module>
          setup(**setup_args)
        File "/usr/local/lib/python3.10/site-packages/setuptools/__init__.py", line 107, in setup
          _install_setup_requires(attrs)
        File "/usr/local/lib/python3.10/site-packages/setuptools/__init__.py", line 80, in _install_setup_requires
          _fetch_build_eggs(dist)
        File "/usr/local/lib/python3.10/site-packages/setuptools/__init__.py", line 85, in _fetch_build_eggs
          dist.fetch_build_eggs(dist.setup_requires)
        File "/usr/local/lib/python3.10/site-packages/setuptools/dist.py", line 879, in fetch_build_eggs
          resolved_dists = pkg_resources.working_set.resolve(
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 812, in resolve
          if not req_extras.markers_pass(req, extras):
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1016, in markers_pass
          return not req.marker or any(extra_evals)
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1013, in <genexpr>
          req.marker.evaluate({'extra': extra})
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/markers.py", line 245, in evaluate
          return _evaluate_markers(self._markers, current_environment)
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/markers.py", line 151, in _evaluate_markers
          groups[-1].append(_eval_op(lhs_value, op, rhs_value))
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/markers.py", line 109, in _eval_op
          return spec.contains(lhs, prereleases=True)
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 565, in contains
          normalized_item = _coerce_version(item)
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 36, in _coerce_version
          version = Version(version)
        File "/usr/local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/version.py", line 197, in __init__
          raise InvalidVersion(f"Invalid version: '{version}'")
      pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: 'cpython'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
The command '/bin/sh -c python -m pip install "git+https://github.com/saltstack/salt.git@master#egg=salt"' returned a non-zero code: 1

Using --use-pep517 as suggested in the error message still tries to install pyzmq==20.0.0. It successfully installs pyzmq on my machine, but fails when building the image due to missing packages. Ensuring that the build environment is available everywhere (GitHub Actions, AWS CodeBuild, …) and relying on it staying this way feels like a unnecessary hack.

Expected behavior

pyzmq is resolved correctly to >19.0.2

Screenshots

n/a

Versions Report

Cannot install salt and therefore not run this command. Same failure with 3005.1 (as released on PyPI) and current master branch (commit cd822a8).

salt --versions-report (Provided by running salt --versions-report. Please also mention any differences in master/minion versions.)
PASTE HERE

Additional context

n/a

@michael-k michael-k added Bug broken, incorrect, or confusing behavior needs-triage labels Feb 3, 2023
@welcome
Copy link

welcome bot commented Feb 3, 2023

Hi there! Welcome to the Salt Community! Thank you for making your first contribution. We have a lengthy process for issues and PRs. Someone from the Core Team will follow up as soon as possible. In the meantime, here’s some information that may help as you continue your Salt journey.
Please be sure to review our Code of Conduct. Also, check out some of our community resources including:

There are lots of ways to get involved in our community. Every month, there are around a dozen opportunities to meet with other contributors and the Salt Core team and collaborate in real time. The best way to keep track is by subscribing to the Salt Community Events Calendar.
If you have additional questions, email us at saltproject@vmware.com. We’re glad you’ve joined our community and look forward to doing awesome things with you!

jgraichen added a commit to jgraichen/salt-tower that referenced this issue May 28, 2023
salt depends on a very old pyzmq version that does not comply to current
PEP versioning. Python 3.10 includes updated setuptools etc. that
require correct versioning. Therefore, salt cannot be installed on 3.10:

    Traceback (most recent call last):
      File "<string>", line 2, in <module>
      File "<pip-setuptools-caller>", line 34, in <module>
      File "/tmp/pip-install-pwxmems7/pyzmq_bb886ae73984461ebe45499b018838d5/setup.py", line 1378, in <module>
        ...
    pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: 'cpython'

See upstream issue saltstack/salt#63621.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug broken, incorrect, or confusing behavior needs-triage
Projects
None yet
Development

No branches or pull requests

1 participant