Wie kann in der setup.py- oder pip-Anforderungsdatei die Reihenfolge der Installation von Paketabhängigkeiten gesteuert werden?

8

Ich habe ein Python-Paket mit setup.py, dessen Abhängigkeiten wie üblich in install_requires = [...] deklariert sind. Eines der Pakete dort, scikits.timeseries, hat ein setup.py, das erwartet, dass numpy bereits installiert ist. Daher würde ich gerne eine Möglichkeit haben, zuerst numpy zu installieren. Kann in diesem Fall und im Allgemeinen die Reihenfolge der Abhängigkeitsinstallation kontrolliert werden? Wie?

Derzeit scheint die Reihenfolge, in der setup.py Abhängigkeiten herunterzieht (wie in arg install_requires aufgelistet), praktisch zufällig zu sein. Außerdem habe ich im setup.py-Setup (...) versucht, arg:

zu verwenden %Vor%

... ohne Erfolg war die Reihenfolge der Installation von Abhängigkeiten nicht betroffen.

Ich habe auch versucht, eine Pip-Anforderungsdatei zu erstellen, aber auch dort pip die Reihenfolge der Installation von Abhängigkeiten nicht die Zeilenreihenfolge der Anforderungsdatei, also kein Glück.

Eine andere Möglichkeit wäre, einen Systemaufruf nahe dem Anfang von setup.py zu haben, um numpy vor dem Setup-Aufruf (...) zu installieren, aber ich hoffe, es gibt einen besseren Weg. Vielen Dank im Voraus für jede Hilfe.

    
limist 14.02.2011, 19:52
quelle

3 Antworten

5
___ answer38400558 ___

Verwenden Sie den Parameter scikits.timeseries , um zum Beispiel numpy vorher pip und setuptools hook zu installieren, damit numpy korrekt installiert wird:

%Vor%     
___ qstnhdr ___ Wie kann in der setup.py- oder pip-Anforderungsdatei die Reihenfolge der Installation von Paketabhängigkeiten gesteuert werden? ___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ qstntxt ___

Ich habe ein Python-Paket mit setup.py, dessen Abhängigkeiten wie üblich in install_requires = [...] deklariert sind. Eines der Pakete dort, scikits.timeseries, hat ein setup.py, das erwartet, dass numpy bereits installiert ist. Daher würde ich gerne eine Möglichkeit haben, zuerst numpy zu installieren. Kann in diesem Fall und im Allgemeinen die Reihenfolge der Abhängigkeitsinstallation kontrolliert werden? Wie?

Derzeit scheint die Reihenfolge, in der setup.py Abhängigkeiten herunterzieht (wie in arg install_requires aufgelistet), praktisch zufällig zu sein. Außerdem habe ich im setup.py-Setup (...) versucht, arg:

zu verwenden %Vor%

... ohne Erfolg war die Reihenfolge der Installation von Abhängigkeiten nicht betroffen.

Ich habe auch versucht, eine Pip-Anforderungsdatei zu erstellen, aber auch dort pip die Reihenfolge der Installation von Abhängigkeiten nicht die Zeilenreihenfolge der Anforderungsdatei, also kein Glück.

Eine andere Möglichkeit wäre, einen Systemaufruf nahe dem Anfang von setup.py zu haben, um numpy vor dem Setup-Aufruf (...) zu installieren, aber ich hoffe, es gibt einen besseren Weg. Vielen Dank im Voraus für jede Hilfe.

    
___ antwort5005464 ___

Wenn scikits.timeseries %code% benötigt, sollte es als Abhängigkeit deklariert werden. Wenn dies der Fall wäre, würde %code% die Dinge für Sie erledigen (ich bin mir ziemlich sicher, dass auch %code% dies tun würde, aber ich habe es schon lange nicht mehr benutzt). Wenn Sie %code% kontrollieren, sollten Sie seine Abhängigkeitsdeklarationen korrigieren.

    
___ tag123abhängigkeiten ___ Eine Abhängigkeit besteht zwischen zwei Elementen, wenn Änderungen an der Definition eines Elements zu Änderungen am anderen Element führen können. ___ tag123installation ___ Der Installationsprozess ist die Bereitstellung einer Anwendung auf einem Gerät für die zukünftige Ausführung und Verwendung. ___ tag123packages ___ Für Fragen zur Verwendung oder Benennung von Paketen in Java, Scala, Python und anderen Sprachen. ___ tag123setuppy ___ setup.py ist ein Python-Skript, das von Bibliotheken benötigt wird, die mit Distutils verpackt und verteilt werden. ___ answer37919092 ___

Sie können numpy zum Abschnitt setup_requires hinzufügen:

%Vor%     
___
Hank Gay 15.02.2011, 15:17
quelle
0

Sie können numpy zum Abschnitt setup_requires hinzufügen:

%Vor%     
yurez 20.06.2016 09:35
quelle
0

Verwenden Sie den Parameter setup_requires , um zum Beispiel numpy vorher scipy und __builtins__.__NUMPY_SETUP__ = False hook zu installieren, damit numpy korrekt installiert wird:

%Vor%     
Andriy Ivaneyko 15.07.2016 16:02
quelle