Skip to content

Instantly share code, notes, and snippets.

@jibaku
Last active August 29, 2015 14:23
Show Gist options
  • Save jibaku/c98504f4a41b1f8c0450 to your computer and use it in GitHub Desktop.
Save jibaku/c98504f4a41b1f8c0450 to your computer and use it in GitHub Desktop.
Utilisation de python 2.7 sur Alwaysdata

Actuellement, la version 2.7 de Python n'est pas encore supporté de manière officielle sur l'hébergeur Alwaysdata (que j'utilise pour héberger 85mm.fr par exemple).

Malgré tout, l'executable est disponible sur les machines d'alwaysdata, nous allons donc voir maintenant comment installer pip, virtualenv et quelques autres modules.

Installation de pip

Pour installer pip nous allons commencer par la récupérer sur le site du projet avec wget :

ssh% wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py

Nous allons ensuite utiliser l'executable de python 2.7 pour faire l'installation :

ssh% /usr/bin/python2.7 get-pip.py --user

On utilise l'option --user afin que pip soit installé en local pour l'utilisateur courant et non pas au niveau de la machine (car nous n'avons pas les droits sur les dossiers système de la machine). L'installation aura donc lieu dans le dossier ~/.local/.

À partir de maintenant, pour installer un module nous utiliserons donc :

ssh% ./.local/bin/pip install <nom-du-module>

Nous pouvons par exemple installer virtualenv afin de gérer les dépendances de chaque projet de manière plus précise. Il faut bien sûr bien penser à toujours utiliser l'option --user.

ssh% ./.local/bin/pip install virtualenv --user

Utilisation de virtualenv

Le mieux est maintenant d'utiliser un environnement virtuel pour se faciliter la tâche. Nous allons donc créer un environnement avec la commande suivante :

ssh% ./.local/bin/virtualenv env1

Et l'on pourra maintenant facilement installer des modules pour cette environnement de manière très facile :

ssh% env1/bin/pip install Django==1.8.2 flup

Les modules importants

Sur la version 2.7 de python, il n'y a aucun modules installés par défaut, il faut donc bien penser à installer les modules utiles pour que votre projet fonctionne sur Alwaysdata, comme par exemple flup, Pillow ou pytz.

Utilisation de votre environnement

Il suffit ensuite de modifier votre fichier FCGI pour lui indiquer d'utiliser virtualenv crée. Pour ce fire il faut ajouter dans le fichier les lignes suivantes, juste après les import :

# setup the virtualenv
venv = '/home/mon-utilisateur/env1/bin/activate_this.py'
execfile(venv, dict(__file__=venv))

Pour finir, on relance les processus depuis l'administration d'AlwaysData, et c'est bon, votre projet utilise maintenant Python 2.7. Et vous pouvez donc maintenant utiliser Django 1.7 ou 1.8 !

En espérant que ça vous aura été utile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment