J'ai easy_install
et pip
.
J'ai eu beaucoup d'erreurs sur mon Linux Mint 12 , je viens de le réinstaller et je veux tout réinstaller à partir de zéro.
This est l'une des erreurs que j'ai eues. J'ai reçu là une réponse intéressante:
Arrêtez d'utiliser su et Sudo pour exécuter virtualenv.
Vous devez exécuter virtualenv en tant qu'utilisateur normal.
Vous avez créé le virtualenv avec Sudo, c'est pourquoi vous obtenez ces erreurs.
Alors, comment installer virtualenv
sans utiliser Sudo
? Puis-je utiliser pip
ou easy_install
sans utiliser Sudo
? Ou existe-t-il un autre moyen?
Cette solution convient dans les cas où aucun virtualenv
n'est disponible à l'échelle du système et où vous ne pouvez pas devenir root pour installer virtualenv
. Quand je mets en place un debian pour python je toujours apt-get install python-virtualenv
. Il est plus pratique de l'avoir que de faire le bootstrap souligné ci-dessous. Mais sans pouvoir root, c'est peut-être la voie à suivre:
Il existe un mécanisme bootstrap qui devrait vous aider à démarrer.
Lire: http://peak.telecommunity.com/DevCenter/EasyInstall#creating-a-virtual-python
En gros, vous feriez cela dans votre répertoire personnel dans un environnement Unix:
Étant donné votre python est la version 2.6
$ mkdir ~/bin $ mkdir -p ~/lib/python2.6 $ mkdir -p ~/local/lib/python2.6/dist-packages $ wget http://peak.telecommunity.com/dist/virtual-python.py $ python virtual-python.py - no-site-packages $ wget http://peak.telecommunity.com/dist/ez_setup.py $ ~/bin/python ez_setup.py $ ~/local/bin/easy_install virtualenv $ ~/local/bin/virtualenv --no-site-packages yyouare
Il peut y avoir place pour l'optimisation. Je n'aime pas le chemin local
. Juste bin
et lib
serait bien. Mais il fait son travail.
L'idée générale est d'installer virtualenv
lui-même globalement, c'est-à-dire Sudo easy_install virtualenv
ou Sudo pip install virtualenv
, mais ensuite créer l'environnement virtuel réel ("exécuter virtualenv") localement.
Vous pouvez également utiliser la commande ci-dessous, cela a fonctionné pour moi sans accès à Sudo
. Vous devrez peut-être également modifier votre variable d'environnement PYTHONPATH
à l'aide de export
, voir cette réponse SO pour plus de détails .
pip install --user virtualenv
http://opensourcehacker.com/2012/09/16/recommended-way-for-Sudo-free-installation-of-python-software-with-virtualenv/ suggère ce qui suit:
curl -L -o virtualenv.py https://raw.githubusercontent.com/pypa/virtualenv/master/virtualenv.py
python virtualenv.py vvv-venv
. vvv-venv/bin/activate
pip install vvv
Cela semble bien fonctionner. Il me permet d'installer https://github.com/miohtama/vvv avec pip
.
Si vous obtenez:
Cannot find sdist setuptools-*.tar.gz
Cannot find sdist pip-*.tar.gz
Essayez --extra-search-dir
après avoir téléchargé les tarballs sur https://github.com/pypa/virtualenv/tree/develop/virtualenv_support
This a fonctionné pour moi:
pip install --target=$HOME/virtualenv/ virtualenv
cd somewhere/
python $HOME/virtualenv/virtualenv.py env
. env/bin/activate
Maintenant je peux pip install
tout ce que je veux (sauf pour tout ce qui a besoin de compiler des choses avec gcc et qui a des dépendances manquantes telles que les bibliothèques de développement python et Python.h
).
J'ai créé un "portable" version de virtualenv .
wget https://bitbucket.org/techtonik/locally/raw/tip/06.get-virtualenv.py
python 06.get-virtualenv.py
Il télécharge virtualenv.py
script avec dépendances dans .locally
subdir et l'exécute à partir de là. Une fois cela fait, le script avec .locally/subdir peut être copié n'importe où.
Fondamentalement, l'idée est d'installer virtualenv (ou tout autre python) dans ${HOME}/.local
. C'est l'emplacement le plus approprié car il est inclus dans python par défaut (et pas seulement Python).
Que vous faites par pip3 install virtualenv --prefix=${HOME}/.local
(vous devrez peut-être développer ${HOME}
). Assurez-vous que vous disposez de export PATH=${HOME}/.local/bin:${PATH}
dans ton ~/.profile
(vous devrez peut-être source ~/.profile
si elle vient d'être ajoutée)
Vous voudrez peut-être envisager d'utiliser Anaconda . C'est une distribution complète Python, qui vit dans un dossier, par exemple dans votre répertoire personnel. Aucun Sudo
n'est nécessaire à tout moment et vous obtenez la plupart des packages populaires.
$ wget https://.../Anaconda2-2.5.0-Linux-x86_64.sh # check the website for the exact URL, it can change
$ bash Anaconda2-2.5.0-Linux-x86_64.sh
$ conda install virtualenv
La façon la plus simple que j'ai vue jusqu'à présent est d'installer Anaconda. Cela peut être exagéré pour vous. Pour moi, le centOS fonctionnant sur le serveur distant n'avait installé que python2.6. Anaconda par défaut installe tout localement + c'est python2.7
curl -O https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh
Alors
bash Anaconda2-4.2.0-Linux-x86_64.sh
Boom. Vous avez tous les packages comme numpy et pip installés. Ensuite, si vous voulez virtualenv, tapez simplement
pip install virtualenv