2014-10-19 23:38:42 +0000 2014-10-19 23:38:42 +0000
41
41

Python scripts uitvoeren zonder expliciet `python` aan te roepen

Ik gebruik Debian Linux.

Ik vroeg me af of er een manier was om te configureren om alle Python scripts in de terminal uit te voeren door het typen van script.py (in plaats van python script.py).

Respuestas (4)

60
60
60
2014-10-19 23:47:44 +0000

Er zijn twee dingen die je moet doen:

  • Zorg ervoor dat het bestand uitvoerbaar is: chmod +x script.py
  • Gebruik een shebang om de kernel te laten weten welke interpreter hij moet gebruiken. De bovenste regel van het script zou moeten luiden:

Nu kun je typen:

./script.py

als het script in je huidige directory staat, of:

script.py

als de locatie van het script toevallig in je PATH staat, of:

path/to/script.py

anders.

33
33
33
2014-10-19 23:58:24 +0000

Onder linux kun je gewoon de hashbang (aka shebang) gebruiken. Voeg de regel

#!/usr/bin/python

toe als je de standaard python interpreter wilt uitvoeren.

#!/path/to/python[x.x]

om een specifieke versie te gebruiken, of

#!/usr/bin/env python

als je wilt dat de omgeving python voor je vindt.

Je moet het script ook uitvoerbaar maken

chmod +x script[.py]
3
3
3
2017-10-31 18:09:01 +0000

Gebruik:

#!/usr/bin/env python

Dit zal ervoor zorgen dat de python die de gebruiker verwacht te gebruiken, degene zal zijn die het script uitvoert. Dit is vooral belangrijk als de gebruiker virtualenv gebruikt om een specifieke versie van python in een bepaalde omgeving te hebben.

0
0
0
2018-04-08 19:22:47 +0000

Gebruik een shebang regel bovenaan je script zoals hieronder:

!/usr/bin/python

Update de juiste python versie waarop je het script wilt uitvoeren. bijv. Voor python 3.6 is dat

!/usr/bin/python3.6

voor de standaard interpreter

!/usr/bin/python

Note: Zorg ervoor dat het script uitvoerbare rechten heeft.