Ich erhalte den folgenden setuptools_scm
-Fehler, wenn ich versuche, über die neueste Pip-Version in einer virtuellen Umgebung zu installieren. Wie Sie im folgenden Code sehen können, scheint setuptools_scm installiert zu sein. Ich versuche herauszufinden, warum es sich nicht mit Ihrer Bibliothek verbindet. Wenn Sie irgendwelche Ideen haben, lassen Sie es mich bitte wissen.
(himmel.latimes.com)datadesk<strong i="7">@himmel</strong>:/apps/himmel.latimes.com$ pip freeze | grep setuptools-scm
setuptools-scm==1.15.6
(himmel.latimes.com)datadesk<strong i="8">@himmel</strong>:/apps/himmel.latimes.com$ python
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import setuptools_scm
>>> exit()
(himmel.latimes.com)datadesk<strong i="9">@himmel</strong>:/apps/himmel.latimes.com$ pip install django-haystack
Collecting django-haystack
Using cached django-haystack-2.6.1.tar.gz
Complete output from command python setup.py egg_info:
Couldn't find index page for 'setuptools_scm' (maybe misspelled?)
No local packages or download links found for setuptools-scm
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-do137B/django-haystack/setup.py", line 68, in <module>
setup_requires=['setuptools_scm'],
File "/usr/lib/python2.7/distutils/core.py", line 112, in setup
_setup_distribution = dist = klass(attrs)
File "/apps/himmel.latimes.com/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/setuptools/dist.py", line 221, in __init__
self.fetch_build_eggs(attrs.pop('setup_requires'))
File "/apps/himmel.latimes.com/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/setuptools/dist.py", line 245, in fetch_build_eggs
parse_requirements(requires), installer=self.fetch_build_egg
File "/apps/himmel.latimes.com/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 576, in resolve
dist = best[req.key] = env.best_match(req, self, installer)
File "/apps/himmel.latimes.com/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 821, in best_match
return self.obtain(req, installer) # try and download/install
File "/apps/himmel.latimes.com/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/pkg_resources.py", line 833, in obtain
return installer(requirement)
File "/apps/himmel.latimes.com/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/setuptools/dist.py", line 294, in fetch_build_egg
return cmd.easy_install(req)
File "/apps/himmel.latimes.com/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg/setuptools/command/easy_install.py", line 583, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('setuptools-scm')
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-do137B/django-haystack/
pip nimmt es nicht auf, aber Sie können das Paket manuell installieren
pip install setuptools-scm
Mit welcher Pip-Version sehen die Leute das? Es scheint nicht ungewöhnlich zu sein, aber es gab Hinweise darauf, dass es an einer inzwischen ziemlich alten Version von pip (https://github.com/pypa/pypi-legacy/issues/322#issuecomment-229131838) lag, also habe ich Ich frage mich, ob ein Update das Problem auch beheben würde.
Hey @acdha , danke für die Antwort! Ich bin auf Pip 18.1 mit Python 3.7 in einem Pipvenv
Dies passiert, wenn Sie ein nicht standardmäßiges PyPI-Repo verwenden. pip wird es verwenden, aber setup_requires
wird von setuptools
gehandhabt, was die pip-Einstellungen nicht respektiert. Stattdessen werden Sie zu pypi.org umgeleitet, das in unserer Umgebung nicht zugänglich ist. Damit kämpfe ich jetzt. Der Vorschlag, eine distutils.cfg
-Datei zu erstellen, funktioniert bei mir nicht.
Wird hier überhaupt setuptools-scm
benötigt? Ich kann nichts in setup.cfg sehen, das es erfordert. #1603 scheint zu glauben, dass dies nicht der Fall ist.
setuptools-scm
bietet diese Option: https://github.com/django-haystack/django-haystack/blob/802b0f6f4b3b99314453261876a32bac2bbec94f/setup.py#L30
Ein interessanter Kommentar zu erwähnen: https://github.com/pypa/setuptools/issues/2385#issuecomment -696147999
Ein Teil des Problems hier ist, dass easy_install veraltet ist, aber in einigen Fällen setup_requires-Abhängigkeiten immer noch darauf angewiesen sind.
In späteren Versionen von Setuptools (42 und höher) werden setup_requires-Abhängigkeiten jedoch mit pip (falls verfügbar) geladen und durchlaufen alle benutzerdefinierten Indizes.
Die Frage ist also: Warum wird pip nicht zum Installieren der setup_requires-Abhängigkeiten verwendet? Welche Version von Setuptools hast du installiert?
Ich denke, eine Lösung dafür ist das Upgrade von Setuptools.
Hilfreichster Kommentar
Ein interessanter Kommentar zu erwähnen: https://github.com/pypa/setuptools/issues/2385#issuecomment -696147999
Ich denke, eine Lösung dafür ist das Upgrade von Setuptools.