Bei der Ausführung unter Windows laufen die Dateien direkt aus den Eingabeaufforderungen.
Für Linux- und Windows-Benutzer ist das nicht der Fall!
bekomme ich folgende Fehlermeldung:
Traceback (jüngste Aufforderung zuletzt): Die Datei "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/http/server.py", Zeile 1158, in run_cgi os.execve (Script, args, env) PermissionError: [Errno 13] Erlaubnis verweigert:
Sie die folgenden benötigen diese Probleme zu beheben:
Für Linux-Benutzer:
1) Stellen Sie sicher, shebang ist angepasst für Python 3 läuft auf Linux und Mac OSX Systeme:
#!/usr/bin/env python3
2) Da die ursprünglichen ausführbaren Dateien auf Windows geschrieben wurden sie versteckt haben werde ‚\ r‘ in den Dateien, die entfernt werden müssen. Hier sind drei mögliche Wege: a) In der Terminal-Befehlszeile geben Sie tr -d ‘\r’ < input file name > output file name
(benennen Sie die Ausgabedatei einen neuen Namen -> alte Datei löschen -> dann Ausgabedateiname zurück zum Original) b) In Terminal-Befehlszeile Typ : cat inputfile | col -b > outputfile
(nur die Ausgabedatei einen neuen Namen umbenennen -> löschen alte Datei -> dann zu den ursprünglichen Ausgabedatei zurück rechange) c) Download dos2unix, geben Sie dann Terminal-Befehlszeile in: dos2unix Eingabedatei Name
3 Make) ausführbare Datei: In Terminalbefehlszeilentyp: a) chmod 755 Dateinamen oder b) chmod + x Dateinamen oder chmod a + x DateiN am
Für Mac OSX Benutzer es fast das gleiche ist:
- Wiederholen Sie Schritt 1) von Linux
- Wiederholen Sie Schritt 2) von Linux
Für Schritt 3 Dinge ändern:
Basierend auf der apache.org Wiki-Seite: https://wiki.apache.org/httpd/13PermissionDenied Es heißt, dass Sie jede ausführbare Datei vom Speicherort der Datei alle weg machen müssen bis zum/Users root-Verzeichnis.
Sie müssen Folgendes tun.
3) In Terminal-Befehlszeile:
a) type command: `cd /Users`
b) type command: `sudo chmod -R 755`
Jetzt können Sie Ihre Server-Py-Datei über laufen:
sudo webserver.py
und die Eingabedatei über normal:
python3 inputfile.py
Jetzt sollten Sie alle gut sein, mit keine Erlaubnisfehler mehr zu gehen! Sie können notwendige Anpassungen an Shebang und Kommandozeile vornehmen, wenn Sie Python 2 ausführen.
Es wäre nützlich, die Zeile _shebang_ aus 'test.py' zu sehen. Dieser Fehler kann auftreten, wenn der definierte Interpreter keine gültige ausführbare Datei ist. – rodrigo
Danke @rodrigo, ich habe meine Frage bearbeitet, um diese Information einzubeziehen. – qwertyboy