setuptools icon indicating copy to clipboard operation
setuptools copied to clipboard

Getting issue while installing openwisp

Open prohit-rpatil opened this issue 1 year ago • 2 comments

setuptools version

68.1.2

Python version

3.12

OS

Ubuntu 24.4

Additional environment information

No response

Description

TASK [openwisp.openwisp2 : Install openwisp2 controller and its dependencies] ******************************************************************************* FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (5 retries left). FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (4 retries left). FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (3 retries left). FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (2 retries left). FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (1 retries left). fatal: [192.168.144.170]: FAILED! => {"attempts": 5, "changed": false, "cmd": ["/opt/openwisp2/env/bin/pip3", "install", "-U", "openwisp-controller~=1.0.1", "service_identity"], "msg": "stdout: Collecting openwisp-controller~=1.0.1\n Using cached openwisp_controller-1.0.3-py2.py3-none-any.whl.metadata (139 kB)\nCollecting service_identity\n Using cached service_identity-24.2.0-py3-none-any.whl.metadata (5.1 kB)\nCollecting django-sortedm2m~=3.1.1 (from openwisp-controller~=1.0.1)\n Using cached django_sortedm2m-3.1.1-py2.py3-none-any.whl.metadata (19 kB)\nCollecting django-reversion~=4.0.1 (from openwisp-controller~=1.0.1)\n Using cached django_reversion-4.0.2-py3-none-any.whl.metadata (3.6 kB)\nCollecting django-x509~=1.1.0 (from openwisp-controller~=1.0.1)\n Using cached django_x509-1.1-py2.py3-none-any.whl.metadata (19 kB)\nCollecting django-taggit~=2.1.0 (from openwisp-controller~=1.0.1)\n Using cached django_taggit-2.1.0-py3-none-any.whl.metadata (3.5 kB)\nCollecting django-loci~=1.0.1 (from openwisp-controller~=1.0.1)\n Using cached django_loci-1.0.1-py2.py3-none-any.whl.metadata (16 kB)\nCollecting django-flat-json-widget~=0.2.0 (from openwisp-controller~=1.0.1)\n Using cached django_flat_json_widget-0.2-py2.py3-none-any.whl.metadata (5.1 kB)\nCollecting openwisp-utils~=1.0.1 (from openwisp-utils[rest]~=1.0.1->openwisp-controller~=1.0.1)\n Using cached openwisp_utils-1.0.5-py2.py3-none-any.whl.metadata (63 kB)\nCollecting netjsonconfig~=1.0.1 (from openwisp-controller~=1.0.1)\n Using cached netjsonconfig-1.0.2-py2.py3-none-any.whl.metadata (3.8 kB)\nCollecting openwisp-users~=1.0.0 (from openwisp-controller~=1.0.1)\n Using cached openwisp_users-1.0.2-py2.py3-none-any.whl.metadata (44 kB)\nCollecting openwisp-notifications~=1.0.0 (from openwisp-controller~=1.0.1)\n Using cached openwisp_notifications-1.0.3-py2.py3-none-any.whl.metadata (55 kB)\nCollecting openwisp-ipam~=1.0.0 (from openwisp-controller~=1.0.1)\n Using cached openwisp_ipam-1.0-py2.py3-none-any.whl.metadata (24 kB)\nCollecting djangorestframework-gis~=0.18.0 (from openwisp-controller~=1.0.1)\n Using cached djangorestframework_gis-0.18-py2.py3-none-any.whl.metadata (29 kB)\nCollecting paramiko~=2.10.3 (from paramiko[ed25519]~=2.10.3->openwisp-controller~=1.0.1)\n Using cached paramiko-2.10.6-py2.py3-none-any.whl.metadata (4.6 kB)\nCollecting scp~=0.14.2 (from openwisp-controller~=1.0.1)\n Using cached scp-0.14.5-py2.py3-none-any.whl.metadata (4.3 kB)\nCollecting celery~=5.2.3 (from openwisp-controller~=1.0.1)\n Using cached celery-5.2.7-py3-none-any.whl.metadata (20 kB)\nCollecting django-cache-memoize~=0.1 (from openwisp-controller~=1.0.1)\n Using cached django_cache_memoize-0.2.0-py3-none-any.whl.metadata (15 kB)\nCollecting shortuuid~=1.0.1 (from openwisp-controller~=1.0.1)\n Using cached shortuuid-1.0.13-py3-none-any.whl.metadata (5.8 kB)\nRequirement already satisfied: netaddr~=0.8.0 in /usr/lib/python3/dist-packages (from openwisp-controller~=1.0.1) (0.8.0)\nRequirement already satisfied: attrs>=19.1.0 in /opt/openwisp2/env/lib/python3.12/site-packages (from service_identity) (24.2.0)\nRequirement already satisfied: cryptography in /usr/lib/python3/dist-packages (from service_identity) (41.0.7)\nCollecting pyasn1 (from service_identity)\n Using cached pyasn1-0.6.1-py3-none-any.whl.metadata (8.4 kB)\nCollecting pyasn1-modules (from service_identity)\n Using cached pyasn1_modules-0.4.1-py3-none-any.whl.metadata (3.5 kB)\nRequirement already satisfied: pytz>=2021.3 in /usr/lib/python3/dist-packages (from celery~=5.2.3->openwisp-controller~=1.0.1) (2024.1)\nCollecting billiard<4.0,>=3.6.4.0 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n Using cached billiard-3.6.4.0-py3-none-any.whl.metadata (4.5 kB)\nCollecting kombu<6.0,>=5.2.3 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n Using cached kombu-5.4.2-py3-none-any.whl.metadata (3.2 kB)\nCollecting vine<6.0,>=5.0.0 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n Using cached vine-5.1.0-py3-none-any.whl.metadata (2.7 kB)\nRequirement already satisfied: click<9.0,>=8.0.3 in /usr/lib/python3/dist-packages (from celery~=5.2.3->openwisp-controller~=1.0.1) (8.1.6)\nCollecting click-didyoumean>=0.0.3 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n Using cached click_didyoumean-0.3.1-py3-none-any.whl.metadata (3.9 kB)\nCollecting click-repl>=0.2.0 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n Using cached click_repl-0.3.0-py3-none-any.whl.metadata (3.6 kB)\nCollecting click-plugins>=1.1.1 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n Using cached click_plugins-1.1.1-py2.py3-none-any.whl.metadata (6.4 kB)\nCollecting django<4.1.0,>=3.0 (from django-loci~=1.0.1->openwisp-controller~=1.0.1)\n Using cached Django-4.0.10-py3-none-any.whl.metadata (4.1 kB)\nCollecting channels~=3.0.4 (from django-loci~=1.0.1->openwisp-controller~=1.0.1)\n Using cached channels-3.0.5-py3-none-any.whl.metadata (1.3 kB)\nCollecting django-leaflet~=0.28.0 (from django-loci~=1.0.1->openwisp-controller~=1.0.1)\n Using cached django_leaflet-0.28.3-py3-none-any.whl.metadata (16 kB)\nCollecting Pillow~=9.1.0 (from django-loci~=1.0.1->openwisp-controller~=1.0.1)\n Using cached Pillow-9.1.1.tar.gz (49.8 MB)\n Preparing metadata (setup.py): started\n Preparing metadata (setup.py): finished with status 'error'\n\n:stderr: error: subprocess-exited-with-error\n \n × python setup.py egg_info did not run successfully.\n │ exit code: 1\n ╰─> [3 lines of output]\n /opt/openwisp2/env/lib/python3.12/site-packages/_distutils_hack/init.py:53: UserWarning: Reliance on distutils from stdlib is deprecated. Users must rely on setuptools to provide the distutils module. Avoid importing distutils or import setuptools first, and avoid setting SETUPTOOLS_USE_DISTUTILS=stdlib. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml\n warnings.warn(\n ERROR: Can not execute setup.py since setuptools is not available in the build environment.\n [end of output]\n \n note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: metadata-generation-failed\n\n× Encountered error while generating package metadata.\n╰─> See above for output.\n\nnote: This is an issue with the package mentioned above, not pip.\nhint: See above for details.\n"}

How to Reproduce

sudo apt install ansible-core sudo apt install python3-pip sudo apt install sshpass sudo apt install curl sudo apt install git pip install Jinja2>=2.11 --break-system-packages sudo ssh-keyscan -H 127.0.0.1 >> ~/.ssh/known_hosts sudo ssh-keyscan -H 192.168.211.132 >> ~/.ssh/known_hosts sudo ssh-keyscan -H localhost >> ~/.ssh/known_hosts PermitRootLogin yes line in the /etc/ssh/sshd_config should be able to ssh its own ip and also be added to sudoers ansible-galaxy collection install "community.general:>=3.6.0" --force ansible-galaxy collection install "ansible.posix" --force ansible-galaxy install openwisp.openwisp2 --force mkdir ~/openwisp2-ansible-playbook cd ~/openwisp2-ansible-playbook

place below content in hosts file:

[openwisp2] 192.168.211.132

place below content in playbook.yml file

  • hosts: openwisp2 roles:

    • openwisp.openwisp2

    the following line is needed only when an IP address is used as the inventory hostname

    vars: postfix_myhostname: localhost       
    #ansible-playbook -i hosts playbook.yml -b -k -K --become-method=su ansible-playbook -i hosts playbook.yml -u ctadmin -k --become -K ======================================== OR now create playbook with :

  • hosts: openwisp2 become: "{{ become | default('yes') }}" roles:

    • openwisp.openwisp2 vars: openwisp2_radius: true openwisp2_freeradius_install: true

    set to false when you don't want to register openwisp-radius

    API endpoints.

    openwisp2_radius_urls: true        =============================================================

Other detail

TASK [openwisp.openwisp2 : Install openwisp2 controller and its dependencies] *******************************************************************************
FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (5 retries left).
FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (4 retries left).
FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (3 retries left).
FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (2 retries left).
FAILED - RETRYING: [192.168.144.170]: Install openwisp2 controller and its dependencies (1 retries left).
fatal: [192.168.144.170]: FAILED! => {"attempts": 5, "changed": false, "cmd": ["/opt/openwisp2/env/bin/pip3", "install", "-U", "openwisp-controller~=1.0.1", "service_identity"], "msg": "stdout: Collecting openwisp-controller~=1.0.1\n  Using cached openwisp_controller-1.0.3-py2.py3-none-any.whl.metadata (139 kB)\nCollecting service_identity\n  Using cached service_identity-24.2.0-py3-none-any.whl.metadata (5.1 kB)\nCollecting django-sortedm2m~=3.1.1 (from openwisp-controller~=1.0.1)\n  Using cached django_sortedm2m-3.1.1-py2.py3-none-any.whl.metadata (19 kB)\nCollecting django-reversion~=4.0.1 (from openwisp-controller~=1.0.1)\n  Using cached django_reversion-4.0.2-py3-none-any.whl.metadata (3.6 kB)\nCollecting django-x509~=1.1.0 (from openwisp-controller~=1.0.1)\n  Using cached django_x509-1.1-py2.py3-none-any.whl.metadata (19 kB)\nCollecting django-taggit~=2.1.0 (from openwisp-controller~=1.0.1)\n  Using cached django_taggit-2.1.0-py3-none-any.whl.metadata (3.5 kB)\nCollecting django-loci~=1.0.1 (from openwisp-controller~=1.0.1)\n  Using cached django_loci-1.0.1-py2.py3-none-any.whl.metadata (16 kB)\nCollecting django-flat-json-widget~=0.2.0 (from openwisp-controller~=1.0.1)\n  Using cached django_flat_json_widget-0.2-py2.py3-none-any.whl.metadata (5.1 kB)\nCollecting openwisp-utils~=1.0.1 (from openwisp-utils[rest]~=1.0.1->openwisp-controller~=1.0.1)\n  Using cached openwisp_utils-1.0.5-py2.py3-none-any.whl.metadata (63 kB)\nCollecting netjsonconfig~=1.0.1 (from openwisp-controller~=1.0.1)\n  Using cached netjsonconfig-1.0.2-py2.py3-none-any.whl.metadata (3.8 kB)\nCollecting openwisp-users~=1.0.0 (from openwisp-controller~=1.0.1)\n  Using cached openwisp_users-1.0.2-py2.py3-none-any.whl.metadata (44 kB)\nCollecting openwisp-notifications~=1.0.0 (from openwisp-controller~=1.0.1)\n  Using cached openwisp_notifications-1.0.3-py2.py3-none-any.whl.metadata (55 kB)\nCollecting openwisp-ipam~=1.0.0 (from openwisp-controller~=1.0.1)\n  Using cached openwisp_ipam-1.0-py2.py3-none-any.whl.metadata (24 kB)\nCollecting djangorestframework-gis~=0.18.0 (from openwisp-controller~=1.0.1)\n  Using cached djangorestframework_gis-0.18-py2.py3-none-any.whl.metadata (29 kB)\nCollecting paramiko~=2.10.3 (from paramiko[ed25519]~=2.10.3->openwisp-controller~=1.0.1)\n  Using cached paramiko-2.10.6-py2.py3-none-any.whl.metadata (4.6 kB)\nCollecting scp~=0.14.2 (from openwisp-controller~=1.0.1)\n  Using cached scp-0.14.5-py2.py3-none-any.whl.metadata (4.3 kB)\nCollecting celery~=5.2.3 (from openwisp-controller~=1.0.1)\n  Using cached celery-5.2.7-py3-none-any.whl.metadata (20 kB)\nCollecting django-cache-memoize~=0.1 (from openwisp-controller~=1.0.1)\n  Using cached django_cache_memoize-0.2.0-py3-none-any.whl.metadata (15 kB)\nCollecting shortuuid~=1.0.1 (from openwisp-controller~=1.0.1)\n  Using cached shortuuid-1.0.13-py3-none-any.whl.metadata (5.8 kB)\nRequirement already satisfied: netaddr~=0.8.0 in /usr/lib/python3/dist-packages (from openwisp-controller~=1.0.1) (0.8.0)\nRequirement already satisfied: attrs>=19.1.0 in /opt/openwisp2/env/lib/python3.12/site-packages (from service_identity) (24.2.0)\nRequirement already satisfied: cryptography in /usr/lib/python3/dist-packages (from service_identity) (41.0.7)\nCollecting pyasn1 (from service_identity)\n  Using cached pyasn1-0.6.1-py3-none-any.whl.metadata (8.4 kB)\nCollecting pyasn1-modules (from service_identity)\n  Using cached pyasn1_modules-0.4.1-py3-none-any.whl.metadata (3.5 kB)\nRequirement already satisfied: pytz>=2021.3 in /usr/lib/python3/dist-packages (from celery~=5.2.3->openwisp-controller~=1.0.1) (2024.1)\nCollecting billiard<4.0,>=3.6.4.0 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n  Using cached billiard-3.6.4.0-py3-none-any.whl.metadata (4.5 kB)\nCollecting kombu<6.0,>=5.2.3 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n  Using cached kombu-5.4.2-py3-none-any.whl.metadata (3.2 kB)\nCollecting vine<6.0,>=5.0.0 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n  Using cached vine-5.1.0-py3-none-any.whl.metadata (2.7 kB)\nRequirement already satisfied: click<9.0,>=8.0.3 in /usr/lib/python3/dist-packages (from celery~=5.2.3->openwisp-controller~=1.0.1) (8.1.6)\nCollecting click-didyoumean>=0.0.3 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n  Using cached click_didyoumean-0.3.1-py3-none-any.whl.metadata (3.9 kB)\nCollecting click-repl>=0.2.0 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n  Using cached click_repl-0.3.0-py3-none-any.whl.metadata (3.6 kB)\nCollecting click-plugins>=1.1.1 (from celery~=5.2.3->openwisp-controller~=1.0.1)\n  Using cached click_plugins-1.1.1-py2.py3-none-any.whl.metadata (6.4 kB)\nCollecting django<4.1.0,>=3.0 (from django-loci~=1.0.1->openwisp-controller~=1.0.1)\n  Using cached Django-4.0.10-py3-none-any.whl.metadata (4.1 kB)\nCollecting channels~=3.0.4 (from django-loci~=1.0.1->openwisp-controller~=1.0.1)\n  Using cached channels-3.0.5-py3-none-any.whl.metadata (1.3 kB)\nCollecting django-leaflet~=0.28.0 (from django-loci~=1.0.1->openwisp-controller~=1.0.1)\n  Using cached django_leaflet-0.28.3-py3-none-any.whl.metadata (16 kB)\nCollecting Pillow~=9.1.0 (from django-loci~=1.0.1->openwisp-controller~=1.0.1)\n  Using cached Pillow-9.1.1.tar.gz (49.8 MB)\n  Preparing metadata (setup.py): started\n  Preparing metadata (setup.py): finished with status 'error'\n\n:stderr:   error: subprocess-exited-with-error\n  \n  × python setup.py egg_info did not run successfully.\n  │ exit code: 1\n  ╰─> [3 lines of output]\n      /opt/openwisp2/env/lib/python3.12/site-packages/_distutils_hack/__init__.py:53: UserWarning: Reliance on distutils from stdlib is deprecated. Users must rely on setuptools to provide the distutils module. Avoid importing distutils or import setuptools first, and avoid setting SETUPTOOLS_USE_DISTUTILS=stdlib. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml\n        warnings.warn(\n      ERROR: Can not execute `setup.py` since setuptools is not available in the build environment.\n      [end of output]\n  \n  note: This error originates from a subprocess, and is likely not a problem with pip.\nerror: metadata-generation-failed\n\n× Encountered error while generating package metadata.\n╰─> See above for output.\n\nnote: This is an issue with the package mentioned above, not pip.\nhint: See above for details.\n"}

prohit-rpatil avatar Nov 13 '24 13:11 prohit-rpatil

Hi, you may try to install the package with pip install --use-pep517 ..., if it fail, I recommend contacting the package maintainers directly to notify the package needs maintenance (e.g. it needs an appropriate pyproject.toml file, which may be missing)

abravalheri avatar Nov 13 '24 13:11 abravalheri

Sometimes updating to a more recent version of the package also helps.

abravalheri avatar Nov 13 '24 14:11 abravalheri