Deux options dans setup.py develop
et install
me déroutent. Selon ce site , utiliser develop
crée un lien spécial vers le répertoire site-packages.
Des personnes m'ont suggéré d'utiliser python setup.py install
pour une nouvelle installation et python setup.py develop
après toute modification apportée au fichier d'installation.
Quelqu'un peut-il nous éclairer sur l'utilisation de ces commandes?
python setup.py install
est utilisé pour installer (généralement des tiers) des packages que vous n'allez pas développer/modifier/déboguer vous-même.
Pour vos propres tâches, vous voulez d’abord installer votre paquet, puis pouvoir modifier fréquemment le code sans avoir à réinstaller le paquet à chaque fois - et c’est exactement ce que fait python setup.py develop
: il installe le package (généralement un dossier source) de manière à vous permettre de modifier facilement votre code après son installation dans l'environnement (virtuel) et de faire en sorte que les modifications prennent effet immédiatement.
Notez qu’il est vivement recommandé d’utiliser pip install .
(install) et pip install -e .
(installation du développeur) pour installer les packages, car appeler setup.py
directement fera de mauvaises choses pour de nombreuses dépendances, telles que versions préliminaires et incompatibles du paquet, ou rendre le paquet difficile à désinstaller avec pip
.
De la documentation . La develop
n'installera pas le package, mais créera un .Egg-link
dans le répertoire de déploiement dans le répertoire de code source du projet.
Donc, c'est comme installer mais au lieu de copier sur le site-packages
, cela ajoute un lien symbolique (le .Egg-link
agit comme un lien symbolique multiplateforme).
De cette façon, vous pouvez éditer le code source et voir les modifications directement sans avoir à réinstaller chaque fois que vous apportez une petite modification. Ceci est utile lorsque vous êtes le développeur de ce projet d'où le nom develop
. Si vous installez simplement le paquet de quelqu'un d'autre, vous devriez utiliser install
Une autre chose que les gens peuvent trouver utile en utilisant la méthode develop
est l’option --user
à installer sans Sudo. Ex:
python setup.py develop --user
au lieu de
Sudo python setup.py develop