L'exécution d'un script python à partir de l'intérieur de virtualenv bin n'est pas de travail

J'ai un script que je veux être disponible dans le monde entier. J'ai commencé avec la norme hashbang:

#! /usr/bin/env python

Et l'a lié dans le répertoire bin de mon virtualenv:

~/environments/project/env/bin/myscript

Et a ajouté que le répertoire de mon chemin. Lorsque je lance la commande:

myscript

Je reçois un message d'erreur d'importation avec l'une des bibliothèques. Cependant, si j'active l'environnement virtuel et exécutez le script, il fonctionne comme prévu.

J'ai écarté un problème avec le lien (j'ai aussi essayé de simplement déplacer le script dans le dossier bin). J'ai aussi essayé de lancer le script avec python

python ~/environments/project/env/bin/myscript

Auparavant, j'utilisais un script qui a activé l'environnement, puis a couru mon script, mais j'étais sous l'impression que le script s'exécuter à partir de ce dossier doit s'exécuter avec le virtualenv de l'interprète et site-packages. Toutes les idées de pourquoi ce ne serait pas de travail ou certaines façons que je pouvais corriger de cette?

  • Sans rapport avec votre question: même si la plupart des shells de l'ignorer, à l'aide de #! / est à proprement parler mal, que l'espace devait être considéré comme une partie du chemin du programme. Baisse de l'espace et de votre sécurité.
InformationsquelleAutor justin | 2012-08-15