Ubuntu 20.04 est sorti. Immédiatement ~~ Lecture ~~ Après enquête, il semble que Python3.8 soit inclus dans l'installation standard. Cependant, cela ne commence pas par python, il commence par python3. [^ 1] Normalement, ce n'est pas un problème, mais quand vous voulez le démarrer en tant que fichier exécutable en utilisant la fonction shebang [^ 2], c'est un peu un problème. Que devrais-je faire? J'ai fait des recherches en disant cela.
Après de nombreuses recherches, j'ai trouvé Comment écrire le bon shebang en scripts Perl, Python et Ruby. Cela ressemble à comment démarrer / bin / sh et démarrer python avec exec [^ 3]. [^ 4] J'ai joué un peu avec ça.
\#!/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()
Pour le moment, c'est la façon de démarrer à la fois python et python3. …… Mais je ne sais pas si j'ai besoin de faire ça (^^ ゞ CentOS8 Avec CentOS8, python / python3 n'est pas inclus par défaut, il ne démarrera donc pas. yum / dnf semble exécuter platform-python, mais il n'est pas surprenant qu'il aurait été préférable de l'exécuter dans un environnement virtuel autour de venv.
[^ 1]: Insérez le package python-is-python3 et il démarrera.
[^ 2]: Par exemple, #! / Usr / bin / env python
sur la première ligne.
[^ 3]: À l'origine, cela semble être la méthode lorsque / usr / bin / env n'existe pas
[^ 4]: Que signifie la première partie "" "": ".`?
Recommended Posts