J'ai utilisé la commande suivante pour vérifier les versions de python comme indiqué par cette réponse . Cela fonctionne sauf pour une erreur, illustrée ci-dessous. Quelqu'un peut-il expliquer pourquoi?
$ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; \
| awk -F: '/x-executable; charset=binary/ {print $1}' \
| xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V'
Erreur:
find: ‘/run/user/1000/gvfs’: Permission denied
permissions
find
abdul qayyum
la source
la source
python --version
etpython3 --version
pour afficher la version active. Nous avons tous une version 2.x et une version 3.x;)/run/
ne doit pas être inclus dans "find".gvfs
n'appartient pas à votre utilisateur.python
dans la console et appuyer deux fois sur la touche de tabulation, il affichera tous les exécutables de votre chemin en commençant parpython
.python -V
alternatives, veuillez les poser à une question sollicitant réellement ces informations .Réponses:
Les autorisations:
Ainsi, seul le propriétaire dispose d'une autorisation d'exécution (qui permet la recherche dans les répertoires). Mais, vous avez utilisé
sudo
et root a toutes les autorisations possibles, non? En fait, vous avez trouvé l'exception:Cette réponse de Gilles sur Unix et Linux SE explique pourquoi l'autorisation est refusée pour rooter ce répertoire, qui est un point de montage pour FUSE:
Si vous exécutez la
find
commande sanssudo
(en tant que votre propre utilisateur, UID 1000), vous n'obtiendrez pas cette erreur, car vous possédez le répertoire, mais vous obtiendrez d'autres erreurs d'autorisation à la place, alors, utilisezsudo
et suivez les conseils de Gilles:Le moyen le plus simple de vérifier les versions de python:
la source
cd
à ce répertoire en tant qu'utilisateur normal, mais pas en tant que root. Si vous courezfind
sans,sudo
vous ne verrez pas cette erreur (mais vous obtiendrez bien sûr d'autres erreurs d'autorisation)Il existe plusieurs façons de trouver la version de python dont vous disposez. Voici deux façons d'obtenir les versions Python 2 et Python 3:
Spécifique à Python
Il suffit de lancer
python
etpython3
avec l'option--version
Ceci est spécifique à python, mais de nombreux autres programmes utilisent une méthode similaire.
Général pour tout forfait / programme
Une méthode plus générale consiste à voir quel package est installé.
dpkg -l
répertorie tous vos packages, mais vous pouvez spécifier les packages que vous recherchez. Pour seulement python et python3, utilisez ce qui suit:Comme un morceau supplémentaire. Si vous souhaitez trouver tous les packages dont le nom commence par
python
, vous pouvez utiliser un caractère générique*
comme celui-ci:Cela imprimera beaucoup de lignes avec des packages.
la source