Ubuntu 20.04 ist raus. Sofort ~~ Abspielen ~~ Nach der Untersuchung scheint Python3.8 in der Standardinstallation enthalten zu sein. Es beginnt jedoch nicht mit Python, sondern mit Python3. [^ 1] Normalerweise ist dies kein Problem, aber wenn Sie es als ausführbare Datei mit der Funktion shebang [^ 2] starten möchten, ist dies ein wenig problematisch. Was soll ich machen? Ich habe einige Nachforschungen angestellt, indem ich das gesagt habe.
Nach verschiedenen Suchen fand ich Wie man korrekten Shebang in Perl-, Python- und Ruby-Skripten schreibt. Es sieht so aus, als würde man / bin / sh starten und Python mit exec [^ 3] starten. [^ 4] Ich habe ein bisschen damit gespielt.
\#!/bin/sh
""":" .
if [ -x python ] ; then
exec python "$0" ${1+"$@"}
else
exec python3 "$0" ${1+"$@"}
fi
"""
import sys
__doc__ = """
The above defines the script's __doc__ string. You can fix it by like this."""
def main():
print('exec ok')
for v in sys.argv:
print(v)
if __name__ == '__main__':
main()
Dies ist vorerst der Weg, um sowohl Python als auch Python3 zu starten. …… aber ich bin mir nicht sicher, ob ich das tun muss (^^ ゞ CentOS8 Unter CentOS8 ist Python / Python3 standardmäßig nicht enthalten, daher wird es nicht gestartet. yum / dnf scheint Plattform-Python auszuführen, aber es ist nicht überraschend, dass es besser gewesen wäre, es in einer virtuellen Umgebung um venv auszuführen.
[^ 1]: Fügen Sie das Paket python-is-python3 ein und es wird gestartet. [^ 2]: Die erste Zeile lautet "#! / Usr / bin / env python". [^ 3]: Ursprünglich scheint es die Methode zu sein, wenn / usr / bin / env nicht existiert [^ 4]: Was bedeutet der erste Teil "": "."?
Recommended Posts