oliparcol a écrit :
Bonjour, J'ai une application qui peut être installée, c'est à dire que le contenu du répertoire de l'appli est plus ou moins:
Code :
- bin/
- module/
- setup.py
| Le dossier bin contient les scripts python important les bons modules (ie module.sous_module ) et lançant les bonnes fonctions. J'aimerais pouvoir lancer cette appli (en lançant le bon script dans le répertoire bin) sans avoir besoin de l'installer... ça doit être tout con mais je ne trouve pas comment... Merci d'avance, Oliparcol
|
PYTHONPATH=. bin/tonscript |
Tu as également `python setup.py develop` qui n'installe pas le package mais crée un lien depuis ton site-packages vers le checkout local.
C'est extrêmement simple, surtout s'il y a des dépendances.
oliparcol a écrit :
ça veut dire que les développeurs, pour tester leur appli, vont tout le temps devoir l'installer ?
|
Non, tu crées le virtualenv (—no-site-packages de préférence, imo) à la racine de ton package (au même niveau que setup.py), tu installes les dépendances (habituellement via `python setup.py egg_info; pip -E. install -r package.egg_info/requires.txt`) et roules.
oliparcol a écrit :
en plus c'est tout con, si les scripts de /bin étaient à la racine du projet, on pourrait bien lancer l'appli, mais malheureusement ce n'est pas le cas et je ne peux pas changer l'organisation du dossier…
|
Quand tu actives un virtualenv, il place automatiquement ./bin dans ton $PATH. Et dans tous les cas, si tu veux lancer un truc dans bin ben tu fais juste `bin/truc`
Message édité par masklinn le 29-12-2010 à 14:46:19
---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody