Salut à tous,
J'ai un problème pour déployer un programme avec distutils. Mon setup.py contient juste une fonction "setup" qui installe un module pur python et quelques fichiers de données, en accord avec la doc officielle.
Je développe sous Gentoo, et là aucun problème ; quand je fais "python setup.py install", il me met mon module dans /usr/lib/python2.6/site-packages/ et mes fichiers de données dans /usr/share/.
Je teste l'installation sous Ubuntu 10.04 beta2, et là rien ne va plus : d'abord ça installe tout dans /usr/local/ au lieu de /usr, alors que sys.prefix retourne bien "/usr". Je crée donc un fichier "setup.cfg" :pour bien spécifier le dossier d'install. Là ça marche, mais ô surprise, le module n'est pas détecté car "/usr/lib/python2.6/site-packages/" n'est pas dans le sys.path !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [install] prefix=/usr compile=1 optimize=1
J'ai remarqué que les modules python sous Ubuntu sont soit dans "/usr/lib/python2.6/dist-packages/", soit dans "/usr/lib/pymodules/python2.6/", alors que la doc python précise pourtant bien que les modules sont à installer dans site-packages
Je me demande donc :
- pourquoi Ubuntu disperse ses modules n'importe où sauf dans le dossier standard ?
- faut que j'utilise le dossier "/usr/lib/python2.6/dist-packages/" ou "/usr/lib/pymodules/python2.6/" ?
- et comment je gère ça pour que mon installateur soit le plus universel possible ?
Un grand merci à ceux qui pourront me répondre
-
Partager