studip-fuse
studip-fuse copied to clipboard
Can't install on ArchLinux: No matching distribution found for setuptools-meta
Full error below. Manually installing setuptools-meta
with pip install --user git+https://github.com/noirbizarre/setuptools-meta.git
allow the installation.
$ pip install --user git+https://github.com/N-Coder/studip-fuse
Collecting git+https://github.com/N-Coder/studip-fuse
Cloning https://github.com/N-Coder/studip-fuse to /tmp/pip-req-build-06kzvvj_
Running command git clone -q https://github.com/N-Coder/studip-fuse /tmp/pip-req-build-06kzvvj_
ERROR: Command errored out with exit status 1:
command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-06kzvvj_/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-06kzvvj_/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-req-build-06kzvvj_/pip-egg-info
cwd: /tmp/pip-req-build-06kzvvj_/
Complete output (33 lines):
WARNING: The wheel package is not available.
ERROR: Could not find a version that satisfies the requirement setuptools-meta (from versions: none)
ERROR: No matching distribution found for setuptools-meta
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/setuptools/installer.py", line 128, in fetch_build_egg
subprocess.check_call(cmd)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpzn_e62n9', '--quiet', '--find-links', 'git+https://github.com/noirbizarre/setuptools-meta.git#egg=setuptools-meta', 'setuptools-meta']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-req-build-06kzvvj_/setup.py", line 100, in <module>
setup(
File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 143, in setup
_install_setup_requires(attrs)
File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 138, in _install_setup_requires
dist.fetch_build_eggs(dist.setup_requires)
File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 718, in fetch_build_eggs
resolved_dists = pkg_resources.working_set.resolve(
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 781, in resolve
dist = best[req.key] = env.best_match(
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1066, in best_match
return self.obtain(req, installer)
File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 1078, in obtain
return installer(requirement)
File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 777, in fetch_build_egg
return fetch_build_egg(self, req)
File "/usr/lib/python3.8/site-packages/setuptools/installer.py", line 130, in fetch_build_egg
raise DistutilsError(str(e))
distutils.errors.DistutilsError: Command '['/usr/bin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpzn_e62n9', '--quiet', '--find-links', 'git+https://github.com/noirbizarre/setuptools-meta.git#egg=setuptools-meta', 'setuptools-meta']' returned non-zero exit status 1.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
I had the same error, but in addition to installing setuptools-meta from github, I also had to remove all occurrences of that package from the setup.py, because python was still looking for setuptools-meta at pypi during the installation.
Packaging python code can unfortunately be pretty annoying. :/ An easy solution to this might be in https://github.com/noirbizarre/setuptools-meta/issues/1.
As an alternative, one could think about migrating the setup.py
definitions to the more modern pyproject.toml
infrastructure from PEP 518, that also allows properly specifying requirements to the setup environment. But I guess that this is again not compatible with setuptools-meta
, which would then require changes to that library -- or our usage of it, which is only for providing debugging information about the somewhat broken packaging and installation, anyways.