3 votes

Utilisation d'une version différente de Python

J'utilise un serveur sur lequel je n'ai pas d'accès administrateur. Il y a plusieurs versions de Python installées. Disons que l'une d'entre elles se trouve dans /some/home/directory/Python2.6/ et l'autre en /some/home/directory/Python2.7/ .

Existe-t-il un moyen simple de changer temporairement la version de Python dans le terminal, sans changer la version par défaut de Python, et sans nécessiter l'accès root (toutes les réponses que j'ai trouvées jusqu'à présent font/exigent l'une de ces conditions) ?

3voto

nuwandame Points 126

Pour changer la version de Python pour votre session de terminal, vous pouvez créer un alias dans votre fichier .bashrc puis vous reconnecter.

alias python='/usr/bin/python3.4'

Le lien vers l'article suivant fournit des instructions détaillées pour passer à un système d'information sur la santé. autre version de Python par session d'utilisateur.

2voto

mascoj Points 121

Je recommande d'utiliser un alias pour "remplacer" la commande Python.

Un alias peut être créé avec le même nom que le nom principal d'une commande (c'est-à-dire une commande sans options ni arguments). Dans ce cas, c'est l'alias qui est appelé (c'est-à-dire activé) en premier lorsque le nom est utilisé, plutôt que la commande portant le même nom. Par exemple, un alias nommé ls peut être créé pour la commande ls -al comme suit :

alias ls="ls -al" 

ls est une commande couramment utilisée qui répertorie par défaut les noms des fichiers et des répertoires du répertoire courant (c'est-à-dire le répertoire dans lequel l'utilisateur travaille actuellement). L'option -a demande à ls d'afficher également les fichiers et répertoires cachés, et l'option -l lui demande de fournir des informations détaillées sur chaque fichier et sous-répertoire.

Un tel alias peut être désactivé temporairement et la commande principale appelée en la précédant directement (c'est-à-dire sans espace) d'une barre oblique inverse, c'est-à-dire,

\ls 

Tiré de linfo.org

1voto

Zian Choy Points 1510

Dans votre programme, si vous mentionnez #!/usr/bin/python2.6 comme première ligne, votre programme considérera Python 2.6 comme son environnement d'exécution. De même, si vous mentionnez python2.7, il considérera python2.7 comme son environnement d'exécution.

Si vous voulez accéder à Python à partir d'un terminal, vous pouvez entrer python2.7 dans le terminal et vous y accéderez.

1voto

Timo Points 219

En commenté Pour répondre à la question, Virtual Env gère tous les pythons que vous avez - Il suffit de l'utiliser.

# install pip and venv as user
python3 -m pip install --user --upgrade pip
python3 -m pip install --user virtualenv

#create the virtual env files and folders in the current dir
python3 -m venv env

# activate the virtual env by sourcing the bin file
source env/bin/activate

#confirm it
which python

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X