Есть ли разница между модулем, скомпилированным в python3.7, и тем же модулем, скомпилированным в других под-версиях python3? - PullRequest
0 голосов
/ 08 июля 2019

У меня вопрос: есть ли разница между модулем python, скомпилированным в python3.7, и тем же модулем, скомпилированным в другой под-версии Python3?

Я работаю в среде, в которой у меня нет pip для установки модулей, поэтому мне приходится собирать модули самостоятельно. Интересно, если сегодня я собираю модуль с Python3.7, он будет работать завтра, когда я обновлюсь до Python3.8 или понизлю до Python3.6

Спасибо заранее

1 Ответ

0 голосов
/ 08 июля 2019

Python - это (печально) действительно не скомпилированный язык, а интерпретируемый.Заметим, что интерпретатор Python будет кешировать модули с файлами .pyc. Здесь - более полное резюме этих модулей.Конечно, если вы используете py2exe, PyInstaller или какой-то другой специальный компилятор, то возможно, что замораживание пакета как исполняемого файла сделает его хрупким к изменениям версии.

Как правило, между аналогичными версиями (например, с 3,6 до 3,8) изменения в стандартной библиотеке небольшие.Если ваш пакет (или его зависимости) использует какую-то функцию, которая изменилась, то вы можете ожидать, что он больше не будет работать, и вам нужно будет обновить эту часть вашего кода. Этот представляет собой список изменений, сравнивающий функции от 3,6 до 3,7, а список обратно несовместимых изменений короток:

  • Асинхронизация и ожидание теперь являются зарезервированными ключевыми словами.

Этот представляет собой список изменений, сравнивающий 3,7 с 3,8, и он имеет некоторые более тонкие различия.

...