Narazili jsme na to, ze ten bajtkód není kompatibilní, rozbijí se i v minor verzi. Takže toto asi není stejná cesta, jako u Javy, kde je kompatibilita držena vlastně až dodnes (můžeme si zvolit verzi bajtkódu). Nebo má Python podobný koncept jako JARy? (tedy ne, že bychom to potřebovali, jen se ptám; problémy s instalací sice jsou, ale to asi i u těch JAR§).
Podle me ani neexistuje zpusob, jak spustit v pythonu bytecode vygenerovany jinou verzi, bytecode soubor obsahuje nejaky hash, unikatni pro kazdou verzi.
U Javy se pocita s distribuci SW v bytecode podobe. Python cachuje bytecode jen pro urychleni spusteni.
25. 8. 2022, 13:51 editováno autorem komentáře
Proč to tak je, jsem nenašel (asi si nechtěli zavírat možnost prostě vyvíjet i bajtkód podle toho, jak se mění sémantika Pythonu - viz obrovské problémy, které v tomto ohledu má JVM,type erasures atd.).
Ale jedinou jistotu máte tady https://peps.python.org/pep-0006/#prohibitions tedy jen v rámci oprav chyb je zaručena plná kompatibilita bajtkódu. Jinak ne.