Я використовую Debian Linux.
Мені було цікаво, чи є спосіб налаштувати запуск усіх скриптів Python в терміналі, ввівши script.py
(замість python script.py
).
Я використовую Debian Linux.
Мені було цікаво, чи є спосіб налаштувати запуск усіх скриптів Python в терміналі, ввівши script.py
(замість python script.py
).
Відповіді:
Вам потрібно зробити дві речі:
chmod +x script.py
Використовуйте шебанг, щоб ядро знало, який інтерпретатор використовувати. У верхньому рядку сценарію має бути зазначено:
#!/usr/bin/python
Це передбачає, що ваш сценарій буде працювати з пітоном за замовчуванням. Якщо вам потрібна конкретна версія, просто вкажіть у шебангу:
#!/usr/bin/python2.7
Тепер ви можете ввести:
./script.py
якщо сценарій знаходиться у вашому поточному каталозі, або:
script.py
якщо місце сценарію знаходиться у вашому PATH, або:
path/to/script.py
інакше.
bash
те, що читає файл під час виконання ...
./script.py
, ніscript.py
Під Linux можна просто використовувати хешбанг (він же шебанг). Додайте рядок
#!/usr/bin/python
якщо ви хочете виконати інтерпретатор python за замовчуванням.
#!/path/to/python[x.x]
використовувати якусь конкретну версію, або
#!/usr/bin/env python
Якщо ви хочете, щоб оточення знайшло для вас пітона.
Вам також буде потрібно зробити сценарій виконуваним
chmod +x script[.py]
Використання:
#!/usr/bin/env python
Це забезпечить, що пітон, який користувач розраховує використовувати, буде тим, що запускає скрипт. Це особливо важливо, якщо користувач використовує virtualenv, щоб мати певну версію python у заданому середовищі.
Використовуйте рядок shebang у верхній частині сценарію, як показано нижче:
Оновіть відповідну версію python, на якій потрібно виконати сценарій. наприклад, для python 3.6 його
для перекладача за замовчуванням
Примітка. Переконайтеся, що сценарій має дозвіл на виконання.
#!/usr/bin/env python
, якщо у користувача є локальна збірка python (наприклад, в/usr/local/bin
), з якою він швидше запустить сценарій.