Question

Jusqu'à présent, pour moi, le moyen le plus simple de gérer les installations de paquets python a été d'extraire le code source du système de contrôle de la source, puis d'ajouter un lien symbolique dans le dossier python dist-packages.

Clairement, puisque le contrôle de source fournit le contrôle complet pour rétrograder, effectuez une mise à niveau vers n'importe quelle branche, tag, cela fonctionne très bien.

Existe-t-il un moyen d'utiliser l'un des programmes d'installation de paquet (easy_install ou pip ou autre), on peut obtenir le même résultat?

easy_install obtient le fichier tar.gz et l'installe à l'aide du programme d'installation setup.py qui l'installe dans le dossier dist-packages de python2.6. Existe-t-il un moyen de le configurer, ou pip d'utiliser plutôt le système de contrôle de version source (SVN / GIT / Hg / Bzr).

Était-ce utile?

La solution

Utiliser pip , c'est très simple. Par exemple:

pip install -e hg+http://bitbucket.org/andrewgodwin/south/#egg=South

Pip clone automatiquement le référentiel source et exécute "setup.py develop". pour que vous puissiez l’installer dans votre environnement (il s’agit d’un virtualenv ). Git, Subversion, Bazaar et Mercurial sont tous pris en charge.

Vous pouvez également exécuter "pip freeze". et il affichera une liste de vos paquetages actuellement installés avec leurs versions exactes (y compris, pour develop-installs, la révision exacte du VCS). Vous pouvez mettre cela directement dans un fichier de configuration requise et exécuter plus tard

pip install -r requirements.txt

pour installer le même ensemble de packages avec exactement les mêmes versions.

Autres conseils

Si vous téléchargez ou consultez la distribution source d'un package & # 8212; celui qui a son "setup.py" à l'intérieur de celui-ci & # 8212; alors, si le package est basé sur le " setuptools " (qui alimente également easy_install), vous pouvez vous déplacer dans ce répertoire et dire:

$ python setup.py develop

et il créera les bons liens symboliques dans dist-packages de manière à ce que les fichiers .py de la distribution source soient ceux importés, plutôt que des copies installées séparément (ce que fait "setup.py install" # 8212; créez des copies séparées qui ne changent pas immédiatement lorsque vous modifiez le code source pour tenter une modification).

Comme l’autre réponse l’indique, essayez de lire le fichier "setuptools". documentation pour en savoir plus. "setup.py develop" est une fonctionnalité vraiment utile! Essayez de l’utiliser en combinaison avec virtualenv, et vous pourrez "setup.py develop". Sans douleur et sans gâcher votre Python à l'échelle du système avec des paquets sur lesquels vous ne développez que temporairement:

http://pypi.python.org/pypi/virtualenv

easy_install prend en charge le téléchargement de versions spécifiques. Par exemple:

easy_install python-dateutil==1.4.0

Installera la v1.4, tandis que la dernière version 1.4.1 serait sélectionnée si aucune version n'était spécifiée.

Il existe également une prise en charge de svn checkouts, mais son utilisation ne vous donne pas beaucoup d'avantages de votre version manuelle. Consultez le manuel pour plus d'informations ci-dessus.

Il est rarement utile de pouvoir basculer vers des branches spécifiques, sauf si vous développez les packages en question. Dans ce cas, il n'est généralement pas judicieux de les installer dans des packages de site.

easy_install accepte également une URL pour l’arborescence des sources. Fonctionne au moins quand les sources sont dans Subversion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top