Je suis des cours à l'université et on m'a donné un "compte d'enseignement", c'est-à-dire un compte d'école dans lequel je peux travailler. Je souhaite exécuter mon code numpy, matplotlib, scipy, très gourmand en calcul, sur cette machine, mais je ne peux pas installer ces modules car je ne suis pas administrateur système.
Comment puis-je faire l'installation?
Dans la plupart des situations, la meilleure solution consiste à utiliser l'emplacement dit "site utilisateur" (voir le PEP pour plus de détails) en exécutant:
pip install --user package_name
Vous trouverez ci-dessous une manière plus "manuelle" de ma réponse originale. Vous n'avez pas besoin de la lire si la solution ci-dessus vous convient.
Avec easy_install vous pouvez faire:
easy_install --prefix=$HOME/local package_name
qui va installer dans
$HOME/local/lib/pythonX.Y/site-packages
(le dossier 'local' est un nom typique utilisé par de nombreuses personnes, mais vous pouvez bien sûr spécifier tout dossier dans lequel vous êtes autorisé à écrire).
Vous devrez créer manuellement
$HOME/local/lib/pythonX.Y/site-packages
et l'ajouter à votre variable d'environnement PYTHONPATH
(sinon, easy_install se plaindra - btw lance la commande ci-dessus une fois pour trouver la valeur correcte pour X.Y).
Si vous n'utilisez pas easy_install
, recherchez une option de préfixe, la plupart des scripts d'installation vous permettent d'en spécifier une.
Avec pip, vous pouvez utiliser:
pip install --install-option="--prefix=$HOME/local" package_name
Aucune autorisation d'accès ni d'installation easy_install
?
Ensuite, vous pouvez créer un python virtualenv
( https://pypi.python.org/pypi/virtualenv ) et installer le package à partir de cet environnement virtuel.
L'exécution de 4 commandes dans le shell suffira (insérez la version actuelle telle que 16.1.0 pour X.X.X):
$ curl --location --output virtualenv-X.X.X.tar.gz https://github.com/pypa/virtualenv/tarball/X.X.X
$ tar xvfz virtualenv-X.X.X.tar.gz
$ python pypa-virtualenv-YYYYYY/src/virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install package_name
Source et informations supplémentaires: https://virtualenv.pypa.io/en/latest/installation/
Vous pouvez exécuter easy_install pour installer les packages python dans votre répertoire personnel, même sans accès root. Il existe un moyen standard de le faire en utilisant site.USER_BASE, qui prend par défaut quelque chose comme $ HOME/.local ou $ HOME/Library/Python/2.7/bin et est inclus par défaut sur PYTHONPATH.
Pour ce faire, créez un fichier .pydistutils.cfg dans votre répertoire personnel:
cat > $HOME/.pydistutils.cfg <<EOF
[install]
user=1
EOF
Vous pouvez maintenant lancer easy_install sans les privilèges root:
easy_install boto
Alternativement, cela vous permet également de lancer pip sans accès root:
pip install boto
Cela fonctionne pour moi.
Source du blog de Wesley Tanaka: http://wtanaka.com/node/8095
Si vous devez utiliser un script distutils setup.py
, il existe certaines options de ligne de commande permettant de forcer une destination d'installation. Voir http://docs.python.org/install/index.html#alternate-installation . Si ce problème se répète, vous pouvez configurer un fichier de configuration distutils, voir http://docs.python.org/install/index.html#inst-config-files .
La définition de la variable PYTHONPATH est décrite dans tihos post.
Question importante. Le serveur que j'utilise (Ubuntu 12.04) avait easy_install3
mais pas pip3
. Voici comment j'ai installé Pip puis d'autres paquets dans mon dossier personnel.
A demandé à l'administrateur d'installer le paquet Ubuntu python3-setuptools
Pip installé
Comme ça:
easy_install3 --prefix=$HOME/.local pip
mkdir -p $HOME/.local/lib/python3.2/site-packages
easy_install3 --prefix=$HOME/.local pip
Comme ça:
PATH="$HOME/.local/bin:$PATH"
echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile
comme ça
pip3 install --user httpie
# test httpie package
http httpbin.org
J'utilise JuJ , ce qui permet d'avoir une très petite distribution Linux (contenant uniquement le gestionnaire de paquets) dans votre répertoire $ HOME/.juju.
Il vous permet d’avoir votre système personnalisé dans le répertoire personnel accessible via proot et, par conséquent, vous pouvez installer n’importe quel paquet sans privilèges root. Il fonctionnera correctement sur toutes les principales distributions Linux. La seule limitation est que JuJu peut être exécuté sur un noyau Linux avec la version minimum recommandée 2.6.32.
Par exemple, après avoir installé JuJu pour installer pip, tapez simplement ce qui suit:
$>juju -f
(juju)$> pacman -S python-pip
(juju)> pip
Le meilleur et le plus simple est cette commande:
pip install --user package_name
http://www.lleess.com/2013/05/how-to-install-python-modules-without.html#.WQrgubyGOnc
Installez virtualenv localement ( source d'instructions ):
Important: Insérez la version actuelle (comme 16.1.0 ) pour XXX .
Vérifiez le nom du fichier extrait et insérez-le pour YYYYY.
$ curl -L -o virtualenv.tar.gz https://github.com/pypa/virtualenv/tarball/X.X.X
$ tar xfz virtualenv.tar.gz
$ python pypa-virtualenv-YYYYY/src/virtualenv.py env
Avant de pouvoir , utilisez ou installez tout package dont vous avez besoin pour source
votre environnement virtuel Python. env
:
$ source env/bin/activate
Pour installer les nouveaux packages python (comme numpy), utilisez:
(env)$ pip install <package>