Ich habe den folgenden Befehl verwendet, um die in dieser Antwort angegebenen Python-Versionen zu überprüfen . Es funktioniert bis auf einen Fehler (siehe unten). Kann jemand erklären, warum?
$ 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'
Error:
find: ‘/run/user/1000/gvfs’: Permission denied
permissions
find
abdul qayyum
quelle
quelle
python --version
undpython3 --version
um die aktive Version anzuzeigen. Wir haben alle eine 2.x-Version und die 3.x-Version;)/run/
sollte nicht in "find" enthalten sein.gvfs
gehört nicht Ihrem Benutzer.python
die Konsole eingeben und zweimal die Tabulatortaste drücken. Es werden alle ausführbaren Dateien in Ihrem Pfad angezeigt, die mit beginnenpython
.python -V
und Alternativen posten möchten , wenden Sie sich bitte an eine Frage, bei der diese Informationen tatsächlich eingeholt werden .Antworten:
Die Berechtigungen:
Daher hat nur der Eigentümer die Ausführungsberechtigung (mit der Verzeichnisse durchsucht werden können). Aber du benutzt
sudo
und root hat alle möglichen Berechtigungen, oder? Eigentlich hast du die Ausnahme gefunden:Diese Antwort von Gilles unter Unix und Linux SE erklärt, warum die Berechtigung für das Stammverzeichnis verweigert wird, das ein Einhängepunkt für FUSE ist:
Wenn Sie den
find
Befehl ausführen, ohnesudo
(als Ihr eigener Benutzer, UID 1000), wird dieser Fehler nicht angezeigt, da Ihnen das Verzeichnis gehört. Stattdessen werden andere Berechtigungsfehler angezeigt. Befolgen Sie dahersudo
Gilles 'Ratschläge:Der einfachste Weg, um Python-Versionen zu überprüfen:
quelle
cd
als normaler Benutzer in dieses Verzeichnis wechseln, aber nicht als Root. Wenn Siefind
ohne laufen, werdensudo
Sie diesen Fehler nicht sehen (aber Sie werden natürlich andere Berechtigungsfehler bekommen)Es gibt verschiedene Möglichkeiten, um herauszufinden, welche Version von Python Sie haben. Hier sind zwei Möglichkeiten, wie Sie sowohl Python 2- als auch Python 3-Versionen erhalten:
Python-spezifisch
Zuerst einfach ausführen
python
undpython3
mit der Option--version
Dies ist spezifisch für Python, aber viele andere Programme verwenden eine ähnliche Methode.
Allgemein für jedes Paket / Programm
Eine allgemeinere Methode besteht darin, zu ermitteln, welches Paket installiert ist.
dpkg -l
listet alle Ihre Pakete auf, aber Sie können angeben, nach welchen Paketen Sie suchen. Verwenden Sie nur für Python und Python3 Folgendes:Als extra Leckerbissen. Wenn Sie alle Pakete suchen möchten, deren Name mit "" beginnt
python
, können Sie ein Platzhalterzeichen*
wie das folgende verwenden:Das wird eine Menge Zeilen mit Paketen drucken.
quelle