Я почав вивчати python, а також я новий користувач Ubuntu. Мені потрібно знати способи складання .py
файлів. Я спробував з командою
python "hello.py"
Які ще способи складання пітона?
Я почав вивчати python, а також я новий користувач Ubuntu. Мені потрібно знати способи складання .py
файлів. Я спробував з командою
python "hello.py"
Які ще способи складання пітона?
Відповіді:
Також пам’ятайте, що для його запуску вам не потрібно збирати .py
файл. Python - це інтерпретована мова, і ви можете запускати сценарії безпосередньо, використовуючи:
python hello.py
Або зробіть свій сценарій виконуваним, додавши #!/usr/bin/env python
у верхній частині сценарію, зробивши файл виконуваним chmod +x hello.py
та запустивши:
./hello.py
Той факт, що Python внутрішньо компілює ваш .py
сценарій для байт-коду .pyc
файлів з міркувань продуктивності, є детальною інформацією про реалізацію, і, якщо у вас немає вагомих причин для цього, нехай python сам вирішує, коли і якщо компілювати.
chmod +x
), як інтерпретатор читає сценарій?
#!/path/to/interpreter
, ядро фактично виконує все, що там оголошено, передаючи шлях сценарію як аргумент. У моєму прикладі, коли ви запускаєте ./hello.py
те, що насправді виконується /usr/bin/env python ./hello.py
. Дивіться en.wikipedia.org/wiki/Shebang_(Unix)
chmod +x
гранти виконують і не торкаються існуючих дозволів, так що, імовірно, вони читаються на додаток до тепер виконуваного.
Ознайомтесь із цим посиланням Компілювати в Python
У середині сторінки йдеться про модуль py_compile, який можна імпортувати. Синтаксис такий:
import py_compile
py_compile.compile("file.py")
Цей спосіб компіляції не виконає модуль, як запуск python file.py.
Існує також метод, який компілює ціле дерево каталогів, але я дам вам можливість перевірити посилання, щоб побачити, як це виконується.
Сподіваюся, це допомагає.
Ви також можете спробувати compileall
:
python -m compileall ./
Ви можете компілювати сценарії Python у двійковий код за допомогою різних методів, але я з’ясував, що використання Nuitka є більш ефективним.
Nuitka - компілятор Python-to-C ++, який підтримує майже всі версії python.
Синтаксис команд такий же простий, як і
nuitka hello.py
Перейдіть на http://nuitka.net/doc/user-manual.html для отримання додаткової інформації.
-O
прапор, як-отpython -O -m py_compile …
, який "увімкне основні оптимізації". Він здебільшого викреслюєassert
висловлювання таif __debug__
код, тому для більшості кодів це не впливає. Дивітьсяman python
і «Що робить оптимізацію Python ... робити?» Для деталей.