2011-08-11 3 views

Répondre

1

tout d'abord, vous devriez utiliser virtualenv. De cette façon, le chemin python de votre application django n'a que des choses pertinentes. Cela vous permet également d'exécuter plusieurs applications django/python séparées sur le même serveur sans les heurter.

Lorsque vous avez un virtualenv avec votre application django en cours d'exécution, vous devez générer un fichier d'exigences.

pip gel -E virtualenv_path>-req.txt stable de

Vous pouvez ensuite utiliser ce fichier pour générer un paquet.

pip bundle mybundle.bundle -r-req.txt stable

Cet ensemble peut alors être utilisé pour déployer avec.

0

Y a-t-il une raison pour laquelle vous voulez importer tous les modules?

Il est une bonne pratique d'importer uniquement les modules, les classes, etc. qui sont nécessaires ...

+0

En fait, il me manque io module dans mon serveur de stockage que j'ai dans mon système local. J'utilise python 2.5.2 sur le serveur et je n'ai pas trouvé le moyen d'y installer le module io. Donc, je pensais pouvoir pousser le module io de mon serveur de développement à la production. –

3

Il y a un peu de confusion terminologique ici: « modules » fait référence à des fichiers individuels .py dans un package Python. Et l'importation est ce que vous faites dans le code, pour amener des modules dans l'espace de noms actuel.

Je pense ce que vous demandez est comment installer Python paquets sur le déploiement. La réponse à cela est, utilisez pip avec la commande freeze, en conjonction avec virtualenv.

+0

En fait, je veux juste déployer une seule application donc je ne veux pas passer par virtualenv pour le moment. Je veux juste répliquer le module installé de mon développement au serveur de staging/production. –

+2

Prabesh, même si vous déployez une seule "application" (vous diriez "un site avec une application"), il y a des dépendances, que vous installez. Ce ne sont pas des "modules" mais des "paquets". Vous utilisez 'pip' pour les installer. La meilleure façon de clarifier les dépendances consiste également à utiliser un virtualenv nu localement, dans lequel vous installez simplement les paquets strictement nécessaires: 'virtualenv myenv --no-site-packages', donc une fois que votre application fonctionne,' pige freeze> requirements.txt' va stocker la liste, et 'pip install -r requirements.txt' les réinstallera. – rewritten

1

Au lieu de

gem freeze 

Essayez d'utiliser

pip bundle 

J'ai trouvé cette solution ici: Django equivalent to "rake rails:freeze:gems" and "rake gems:unpack"

+0

Le nom de mon application est sureaudio et j'ai fait pip bundle sureaudio.pybundle sureaudio.Mais je reçois un message d'erreur "Impossible de trouver les téléchargements qui répondent à l'exigence sureaudio". Est-ce que j'ai râté quelque chose . –

+0

Eh bien ... Je n'ai pas utilisé de bundles ...) Alors essayez ceci: pip freeze> stable-req.txt –

+0

J'ai essayé. Il listera tous les modules dans stable-req.txt. Maintenant, comment puis-je installer les modules listés dans stable-req.txt? –

Questions connexes