GNU/Linux >> Znalost Linux >  >> Linux

Spouštějte skripty Pythonu bez explicitního vyvolání `python`

Musíte udělat dvě věci:

  • Ujistěte se, že je soubor spustitelný:chmod +x script.py
  • Použijte shebang, aby jádro vědělo, jaký interpret má použít. Horní řádek skriptu by měl znít:

    #!/usr/bin/python
    

    To předpokládá, že váš skript poběží s výchozím pythonem. Pokud potřebujete konkrétní verzi, stačí uvést v shebang:

    #!/usr/bin/python2.7
    

Nyní můžete napsat:

    ./script.py

pokud je skript ve vašem aktuálním adresáři, nebo:

    script.py

pokud je umístění skriptu náhodou ve vaší PATH, nebo:

    path/to/script.py

jinak.


Pod linuxem můžete jednoduše použít hashbang (aka shebang). Přidejte řádek

#!/usr/bin/python

pokud chcete spustit výchozí interpret pythonu.

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

použít nějakou konkrétní verzi nebo

#!/usr/bin/env python

Pokud chcete, aby prostředí našlo python za vás.

Budete také muset skript nastavit jako spustitelný

chmod +x script[.py] 

Použijte:

#!/usr/bin/env python

To zajistí, že python, který uživatel očekává, že bude použit, bude ten, který spustí skript. To je zvláště důležité, pokud uživatel používá virtualenv k tomu, aby měl v daném prostředí konkrétní verzi pythonu.


Linux
  1. Jak spouštět skripty Pythonu ze shellu

  2. Jak trasovat Python skripty pomocí trace.py

  3. Jak zajistit, aby skript Python běžel jako služba nebo démon v Linuxu

  1. Jak spustit skript jako jiný uživatel bez hesla?

  2. Jak nainstaluji skript pro spuštění kdekoli z příkazového řádku?

  3. Spustit bash skript z jiného skriptu bez čekání na dokončení skriptu?

  1. Jak spustit skript??

  2. Spusťte více skriptů pythonu současně

  3. Spouštějí se příkazy v bash skriptu paralelně nebo jeden po druhém?