Comment installer des modules python sans accès root?
je prends des cours à l'université et on m'a donné un "compte-rendu d'enseignement", qui est un compte-rendu d'école dans lequel je peux travailler. Je veux exécuter mon code computationally intensive Numpy, matplotlib, scipy sur cette machine, mais je ne peux pas installer ces modules parce que je ne suis pas un administrateur système.
Comment faire l'installation?
7 réponses
dans la plupart des cas, la meilleure solution est de se fier à l'emplacement du "site Utilisateur" (voir le PEP pour plus de détails) en exécutant:
pip install --user package_name
ci-dessous est une façon plus" manuelle " de ma réponse originale, vous n'avez pas besoin de le lire si la solution ci-dessus fonctionne pour vous.
avec easy_install vous pouvez faire:
easy_install --prefix=$HOME/local package_name
qui s'installera dans
$HOME/local/lib/pythonX.Y/site-packages
(le dossier' local ' est un nom typique que beaucoup de gens utilisent, mais bien sûr vous pouvez spécifier n'importe quel dossier dans lequel vous avez des permissions à é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 exécutera la commande ci-dessus une fois pour trouver la valeur correcte pour X. Y).
si vous n 'utilisez pas easy_install
, regardez pour une option de préfixe, la plupart des scripts d'installation vous permettent d'en spécifier un.
avec pip vous pouvez utiliser:
pip install --install-option="--prefix=$HOME/local" package_name
pas de permissions pour accéder ou installer easy_install
?
ensuite, vous pouvez créer un python virtualenv
( https://pypi.python.org/pypi/virtualenv ) et installer le paquet à partir de cet environnement virtuel.
il suffit D'Exécuter 3 commandes dans le shell:
$ curl -O https://raw.github.com/pypa/virtualenv/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install package_name
Source et plus d'information: https://virtualenv.pypa.io/en/latest/installation/
vous pouvez exécuter easy_install pour installer des paquets python dans votre répertoire personnel, même sans accès root. Il y a une façon standard de le faire en utilisant le site.USER_BASE qui est 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éer un .pydistutils.cfg dans votre répertoire d'accueil:
cat > $HOME/.pydistutils.cfg <<EOF
[install]
user=1
EOF
Maintenant vous pouvez exécuter easy_install sans privilèges root:
easy_install boto
alternativement, cela vous permet aussi d'exécuter pip sans accès root:
pip install boto
ça me va.
Source tirée du blog de Wesley Tanaka: http://wtanaka.com/node/8095
si vous devez utiliser un script distutils setup.py
, il y a quelques options de ligne de commande pour 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 .
définir la variable PYTHONPATH est décrit dans tihos post.
question importante. Le serveur que j'utilise (Ubuntu 12.04) avait easy_install3
mais pas pip3
. C'est comme ça que J'ai installé Pip et puis d'autres paquets dans mon dossier personnel
-
a demandé à l'administrateur d'installer le paquet Ubuntu
python3-setuptools
-
Pip installé
comme ceci:
easy_install3 --prefix=$HOME/.local pip
mkdir -p $HOME/.local/lib/python3.2/site-packages
easy_install3 --prefix=$HOME/.local pip
- ajouter Pip (et autres Python les applications de chemin de)
comme ceci:
PATH="$HOME/.local/bin:$PATH"
echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile
- Installer le paquet Python
comme ceci
pip3 install --user httpie
# test httpie package
http httpbin.org
j'utilise JuJu qui permet essentiellement d'avoir une distribution linux vraiment minuscule (contenant juste le gestionnaire de paquets) à l'intérieur de votre $HOME/.juju répertoire.
il permet d'avoir votre système personnalisé à l'intérieur du répertoire d'accueil accessible via proot et, par conséquent, vous pouvez installer tous les paquets sans privilèges root. Il fonctionnera correctement sur toutes les principales distributions linux, la seule limitation est que JuJu peut fonctionner sur le noyau linux avec minimum recommandés de la version 2.6.32.
par exemple, après avoir installé JuJu pour installer pip tapez juste ce qui suit:
$>juju -f
(juju)$> pacman -S python-pip
(juju)> pip
la meilleure et la plus facile est cette commande:
pip install --user package_name
http://www.lleess.com/2013/05/how-to-install-python-modules-without.html#.WQrgubyGOnc