pip install dependency-links
Ich bin mit python version 2.7
und pip version is 1.5.6
.
Ich installieren möchten, zusätzliche Bibliotheken von url, wie ein git-repo auf setup.py installiert wird.
Ich wurde, extras in install_requires
parameter in setup.py
. Das bedeutet, meine Bibliothek erfordert zusätzliche Bibliotheken und Sie müssen auch installiert werden.
...
install_requires=[
"Django",
....
],
...
Aber urls wie git-repos sind nicht gültige Zeichenfolge in install_requires
im setup.py
. Gehe davon aus, dass ich installieren möchte eine Bibliothek von github. Ich habe gesucht über dieses Thema und ich habe etwas gefunden, was ich kann-Bibliotheken, so dass in dependency_links
im setup.py
. Aber das funktioniert immer noch nicht. Hier ist meine Abhängigkeit links definition;
dependency_links=[
"https://github.com/.../tarball/master/#egg=1.0.0",
"https://github.com/.../tarball/master#egg=0.9.3",
],
Die links gültig sind. Ich kann Sie herunterladen, von einem internet-browser mit diesen urls. Diese zusätzlichen Bibliotheken noch nicht installiert ist, mit meiner Einstellung. Ich habe auch versucht --process-dependency-links
parameter erzwingen pip. Aber das Ergebnis ist dasselbe. Ich nehme kein Fehler, wenn pipping.
Nach der installation sehe ich keine Bibliothek in pip freeze
Ergebnis in dependency_links
.
Wie kann ich Sie heruntergeladen werden, mit meinem setup.py
installation?
Bearbeitet:
Hier ist meine komplette setup.py
from setuptools import setup
try:
long_description = open('README.md').read()
except IOError:
long_description = ''
setup(
name='esef-sso',
version='1.0.0.0',
description='',
url='https://github.com/egemsoft/esef-sso.git',
keywords=["django", "egemsoft", "sso", "esefsso"],
install_requires=[
"Django",
"webservices",
"requests",
"esef-auth==1.0.0.0",
"django-simple-sso==0.9.3"
],
dependency_links=[
"https://github.com/egemsoft/esef-auth/tarball/master/#egg=1.0.0.0",
"https://github.com/egemsoft/django-simple-sso/tarball/master#egg=0.9.3",
],
packages=[
'esef_sso_client',
'esef_sso_client.models',
'esef_sso_server',
'esef_sso_server.models',
],
include_package_data=True,
zip_safe=False,
platforms=['any'],
)
Bearbeitet 2:
Hier ist pip melden;
Downloading/unpacking esef-auth==1.0.0.0 (from esef-sso==1.0.0.0)
Getting page https://pypi.python.org/simple/esef-auth/
Could not fetch URL https://pypi.python.org/simple/esef-auth/: 404 Client Error: Not Found
Will skip URL https://pypi.python.org/simple/esef-auth/ when looking for download links for esef-auth==1.0.0.0 (from esef-sso==1.0.0.0)
Getting page https://pypi.python.org/simple/
URLs to search for versions for esef-auth==1.0.0.0 (from esef-sso==1.0.0.0):
* https://pypi.python.org/simple/esef-auth/1.0.0.0
* https://pypi.python.org/simple/esef-auth/
Getting page https://pypi.python.org/simple/esef-auth/1.0.0.0
Could not fetch URL https://pypi.python.org/simple/esef-auth/1.0.0.0: 404 Client Error: Not Found
Will skip URL https://pypi.python.org/simple/esef-auth/1.0.0.0 when looking for download links for esef-auth==1.0.0.0 (from esef-sso==1.0.0.0)
Getting page https://pypi.python.org/simple/esef-auth/
Could not fetch URL https://pypi.python.org/simple/esef-auth/: 404 Client Error: Not Found
Will skip URL https://pypi.python.org/simple/esef-auth/ when looking for download links for esef-auth==1.0.0.0 (from esef-sso==1.0.0.0)
Could not find any downloads that satisfy the requirement esef-auth==1.0.0.0 (from esef-sso==1.0.0.0)
Cleaning up...
Removing temporary dir /Users/ahmetdal/.virtualenvs/esef-sso-example/build...
No distributions at all found for esef-auth==1.0.0.0 (from esef-sso==1.0.0.0)
Exception information:
Traceback (most recent call last):
File "/Users/ahmetdal/.virtualenvs/esef-sso-example/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/Users/ahmetdal/.virtualenvs/esef-sso-example/lib/python2.7/site-packages/pip/commands/install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/Users/ahmetdal/.virtualenvs/esef-sso-example/lib/python2.7/site-packages/pip/req.py", line 1177, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "/Users/ahmetdal/.virtualenvs/esef-sso-example/lib/python2.7/site-packages/pip/index.py", line 277, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
DistributionNotFound: No distributions at all found for esef-auth==1.0.0.0 (from esef-sso==1.0.0.0)
Scheint es, es nicht die Quellen in dependency_links
.
InformationsquelleAutor Ahmet DAL | 2014-09-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie stellen Sie sicher, dass Sie die Abhängigkeit in Ihrer
install_requires
zu.Hier ist ein Beispiel
setup.py
Hier ist das Problem mit deinem Beispiel
setup.py
:Ihnen fehlt die ei-Namen in der dependency-links, die Sie setup.
Haben Sie
https://github.com/egemsoft/esef-auth/tarball/master/#egg=1.0.0.0
Müssen Sie
https://github.com/egemsoft/esef-auth/tarball/master/#egg=esef-auth-1.0.0.0
Could not find any downloads that satisfy the requirement my-extra-libraray==1.0.0.0 (from my-installed-library-currently==1.0.0.0)
Sie haben sowohl die Abhängigkeit von links und installieren erfordert angegeben? kannst du die komplette
setup.py
verwendest du?Finden Sie bearbeiteten Teil meiner Frage.
Ergebnis ist immer noch dasselbe. Hier ist mein setup.py. Können Sie versuchen, mit
pip install git+https://github.com/egemsoft/esef-sso.git
. Ihr werdet wahrscheinlich sehen, das Ergebnis.django-simple-sso
sollte auch von meiner Gabel-Quelle. Es kommt aus der original-Quelle statt. Ich denke,install_requires
nicht verwendendependency_links
als Quelle.InformationsquelleAutor mjallday
Pip entfernt die Unterstützung für dependency_links eine Weile zurück. Die die Letzte version von pip unterstützt dependency_links ist 1.3.1, um es zu installieren
Ihre Abhängigkeit von den links funktionieren sollte. Bitte beachten Sie, dass dependency_links waren immer der Letzte Ausweg für pip, dh. wenn ein Paket mit demselben Namen vorhanden ist, auf pypi es vorgezogen verkaufen.
Hinweis, https://github.com/pypa/pip/pull/1955 scheint zu starten, so dass dependency_links, pip gehalten, aber möglicherweise müssen Sie einige Befehlszeilenoptionen, verwenden Sie eine neuere version von pip.
BEARBEITEN: Wie der pip-7 ... Sie überdacht dep links und es Ihnen ermöglicht haben, obwohl Sie noch nicht entfernt veraltete bemerken, aus den Diskussionen, Sie scheinen hier zu bleiben. Mit pip>=7 hier ist, wie Sie installieren können Dinge
Oder fügen Sie den folgenden, um ein pip.conf, z.B.
/etc/pip.conf
BEARBEITEN
Einen trick, den ich gelernt habe, ist, um bump up die Versionsnummer, um wirklich etwas hoch, um sicherzustellen, dass pip nicht lieber die nicht-Abhängigkeit-link-version (wenn es das ist etwas, was Sie wollen). Aus dem oben genannten Beispiel, stellen Sie die Abhängigkeit der link so Aussehen:
Außerdem sicher, dass die version sieht aus wie das Beispiel oder ist das Datum, version, andere Versionierung wird pip denke es ist eine dev-version und nicht installieren.
Sehen Sie noch die Warnung, aber dependency_links gehen für eine Weile zu bleiben. Sie müssen noch die config soweit ich weiß, siehe Hinweis in der Sektion Bearbeiten mit der Antwort.
vielleicht solltest du entfernen, die Informationen über pip version 1.3.1 es ist sehr alt
die Antwort editiert, es ist immer noch korrekt, da ist keine Notwendigkeit, um es zu Bearbeiten
Ich danke Ihnen sehr für das ei= version trick, das war das fehlende Stück im puzzle!
InformationsquelleAutor Pykler
Stand ich vor einer ähnlichen situation, wo ich Sie benutzen will formschöne wie einer meiner Paket-Abhängigkeit. Formschöne, hat jedoch einen Nachteil, dass, wenn Sie windows verwenden, müssen Sie die .whl-Datei aus http://www.lfd.uci.edu/~gohlke/pythonlibs/. Ansonsten, installieren Sie einen C-compiler, das ist etwas, was ich nicht will. Ich möchte den user einfach zu verwenden
pip install mypackage
statt der Installation eine Reihe von anderen fernhalten.Und wenn Sie den typischen Aufbau mit
dependency_links
und führen
python setup.py install
ist es einfach, wählen die wohlgeformten auf Pypi und verursachen Probleme bei der Windows-installation. Nach Stunden der recherche fand ich diesen link Kraft setuptools nutzen dependency_links zu installieren mysqlclient und im Grunde verwendenfrom setuptools.command.install import install as _install
manuell zu installieren, formschön.Und das script funktioniert gut. Hoffe, es hilft.
InformationsquelleAutor Costa Huang