Closed DEvil0000 closed 5 years ago
Ist ein Problem mit den Plugins https://github.com/maxbachmann/lektor-SCSScompile.git und https://github.com/maxbachmann/lektor-JSminify.git
@maxbachmann ^^
Läuft wieder wenn man die entfernt.
Betroffenes System: Ubuntu LTS 18.04
Installation: make install
Ausführen: make server
Die Plugins sind alle nur Python 3 kompatibel. (Wie mit dir besprochen @DO1JLR) Edit: kann man wohl dem shebang #!/usr/bin/env python3 auch enforcen, was ich bisher nicht gemacht habe. Werde ich am Wochenende fixen ;)
es ist zumindest temporär gefixt.
Jemand eine gutee idee wie man checken kann ob der user wirklich python3 nimmt?
The Unix/Linux program loader looks at the first two bytes of that file; if these two bytes are #!, then the loader interprets the remainder of the shebang line (excluding the shebang itself) as a command to launch an interpreter with which to run the file contents as a script. The program loader launches the specified interpreter, feeding it the path of the original file as an argument. This has a couple of advantages: The script-writer has more control over which interpreter will be used (which solves the Python2/Python3 issue) and can sometimes pass an extra argument to the interpreter.
und: Which of the following is correct? **#!/usr/bin/env python
The first option seems to work in all environments, but it is banned in popular distros like Fedora (and I believe also Debian, but I can’t find a reference for this). Using env in shebangs is dangerous because it can result in system packages using non-system versions of python. python is used in so many places throughout modern systems, it’s not hard to see how using #!/usr/bin/env in an important package could badly bork users’ operating systems if they install a custom version of python in /usr/local. Don’t do this.
und: unless your python script is compatible with both python2 and python3, because you don’t know what version you’re getting. Your python script is almost certainly not compatible with both python2 and python3 (and if you think it is, it’s probably somehow broken, because I doubt you regularly test it with both). Instead, you should write the shebang like this:
This works as long as you only care about Linux and BSDs. It doesn’t work on macOS, which provides /usr/bin/python and Details: https://blogs.gnome.org/mcatanzaro/2018/02/16/on-python-shebangs/
Jemand eine gutee idee wie man checken kann ob der user wirklich python3 nimmt?
If-Clause. Or While-Loop. ...coden...
Jemand eine gutee idee wie man checken kann ob der user wirklich python3 nimmt?
If-Clause. Or While-Loop. ...coden...
Prinzipell eine Idee...
Die Frage wäre eben nur: wo?
Naja ich werde testen ob das funktioniert und ansonsten die Plugins halt python 2 kompatibel machen. Wäre jetzt auch nicht super aufwendig und funktioniert dann auf jeden Fall bei jedem Ich müsste mal schauen was überhaupt alles python3 benötigt Sollte 1) das typing sein (das -> type) 2) wie ich sicherstelle das das Verzeichnis existiert geht in python3 kürzer, aber da kann ich auch die Version nehmen die mit beiden funktioniert Der Rest sollte meines Wissens auch mit python2 funktionieren
@DEvil0000 Ich habe den shebang mal ergänzt. Kannst du mal folgendes Ausprobieren:
git clone https://github.com/maxbachmann/lektor-JSminify.git packages/lektor-JSminify
git clone https://github.com/maxbachmann/lektor-SCSScompile.git packages/lektor-SCSScompile
lektor server -f jsminify -f scsscompile
Wenn es so funktioniert pflege ich das so auch bei pypi ein ;)
@DEvil0000 Hast du das bereits getestet?