2009-03-09 6 views

Répondre

3

De manière générale, python suit les chemins de sys.path lorsque vous tentez de résoudre les dépendances de bibliothèque. sys.path est une liste, et il est recherché dans l'ordre. Si votre application a modifié sys.path en charge pour placer ses propres chemins de bibliothèque à l'avant, cela devrait faire l'affaire.

Cette section de la documentation python a une bonne explication de la façon dont python trouve ses dépendances: https://docs.python.org/reference/simple_stmts.html#the-import-statement.

+0

Dammit Jim! Oui, je veux dire sys.paths. J'ai d'abord écrit sys.paths. Puis je l'ai édité à sys.modules. Revenons maintenant à sys.paths. Ne me dérange pas ... juste être stupide ce matin, il semble. Merci de l'avoir signalé. –

2

Eh bien, autant que je sache, il existe de nombreux conseils différents sur la façon de le faire.

Voici 2 approches qui peuvent vous aider à distribuer votre application

I/

. inclure toutes les dépendances dans ma structure de répertoire de projet

. manipuler le sys.path pour vous assurer que l'application est toujours dans ma structure dir avant de regarder dans le système des modules disponibles

(Attention: cette solution pourrait ne pas fonctionner si C libs sont impliqués)

II/

Une autre approche utilise un outil tel que EasyInstall and eggs. Cette solution peut être un peu plus complexe, mais elle vous donnera beaucoup de liberté sur la façon de configurer votre application et ses dépendances (en plus elle fonctionnera avec les dépendances C).

./alex

+0

Je vais devoir utiliser des oeufs. – epochwolf

Questions connexes