2012-07-09 10 views
10

Ich versuche, Python für meine Emacs auf Ubuntu zu konfigurieren, und ich erhalte den folgenden Fehler:/usr/bin/env: python2: Keine solche Datei oder das Verzeichnis

/usr/bin/env: python2: No such file or directory 

Kann mir jemand helfen mit ihm? Was kann ich tun, um es zu lösen?

+0

Wann tritt dieser Fehler? – dwerner

+0

Ich bin mir nicht sicher, warum dies als 'Off-Thema' geschlossen wurde, da die Frage über die Einrichtung der Python-Programmierumgebung auf Ubuntu und in der Regel die erste Zeile von Python-Code auf einem UNIX-System ist. Hier finden Sie eine Erklärung, was diese Zeile macht und wie sie für Ihr System konfiguriert wird: http: //stackoverflow.com/questions/2429511/why-do-people-write-usr-bin-env-python-on-the-first -line-of-a-python-script – Will

Antwort

6

Wahrscheinlich ist das nur wahr. Der Link /usr/bin/python2 -> (the real one) sollte von Ihrem Python-Paket bereitgestellt werden, aber das ist natürlich nicht der Fall, auch nicht an einem anderen Ort, an dem er über die $PATH gefunden werden kann.

Sie sollten den Link in Ihrem Pfad an der (geeigneten) Stelle einfügen.

+0

Aber ich habe Python im Pfad, wenn ich "Python" in meiner Kommandozeile eingeben, öffnet es das Terminal. Wie schließe ich in der Vergangenheit ein, wie von Ihnen empfohlen? – murtaza52

+0

Das ist seltsam. Normalerweise sollte 'env' den Pfad überprüfen. Es hängt auch davon ab, unter welchen Umständen der Fehler auftritt: Haben Sie einen anderen $ PFAD als normalerweise? Was sagt 'which python2' in der Shell? – glglgl

+0

auf 'which python2', ich bekomme nichts in der Shell. Wie soll ich es definieren? – murtaza52

10

Versuchen Sie diesen Befehl im Terminal

sudo ln -s /usr/bin/python2.6 /usr/bin/python2

oder

sudo apt-get install python2

+0

Ich möchte die symbolische Link Route gehen, wie ich es in der Vergangenheit getan habe, hatte die Maschine vor kurzem eine saubere Neuinstallation zu El Capitan. Selbst als sudo wie folgt 'sudo ln -s /usr/bin/python2.7/usr/bin/python2 'bekomme ich die folgende' ln:/usr/bin/python2: Operation nicht erlaubt ' –

+0

Problem gelöst. Die Verwendung von 'ln -sf' erlaubte es zu arbeiten. Ich hatte überprüft, dass es bereits mit 'ls -la | verknüpft wurde Es ist also ein bisschen ein Rätsel, warum '-f' auch nach einem' Mann-ln' funktioniert und darüber gelesen hat. Wie auch immer Problem gelöst. –

+1

FWIW, das funktioniert bei meiner Version von El Capitan: sudo ln -s /usr/bin/python2.7/usr/local/bin/python2 –

1

auf Ubuntu 12.04.

Um herauszufinden, welches Paket die Datei besitzt:

$ apt-file -F find /usr/bin/python2 
python-minimal: /usr/bin/python2 

Um herauszufinden, was auf der Verpackung von Paketen abhängen:

$ apt-cache rdepends python-minimal 
python-minimal 
Reverse Depends: 
    python2.7-minimal 
|livecd-rootfs 
    python-minimal:i386 
    python-support 
    python2.7-minimal 
    python 
|livecd-rootfs 

Es zeigt, dass, wenn Sie python Paket haben, dann sollten Sie python-minimal haben Paket dann sollten Sie /usr/bin/python2 Datei haben.

Prüfen, ob /usr/bin in $PATH innerhalb von Emacs ist. Wenn es ist, und man kann nicht /usr/bin/python2 von einem Shell laufen, dann könnten Sie python-minimal neu installieren /usr/bin/python2 Datei wiederherzustellen:

$ sudo apt-get --reinstall install python-minimal 
Verwandte Themen