programozási nyelv

Megjelent a Java 19

Java logó

Bejelentették a Java új főverzióját, a Java 19-et. Az alábbi linkeken megtekinthetők a kiadási megjegyzések, illetve elérhető a letöltés is.

Megjelent a Python 3.10.3, 3.9.11, 3.8.13 és 3.7.13

Python logó

A Python fejlesztői csapat bejelentette a Python 3.10.3, 3.9.11, 3.8.13 és 3.7.13 megjelenését.

Az új Python verziók elsődlegesen biztonsági frissítésekkel szolgálnak:

  • 15 sebezhetőség javítása a libexpat (XML feldolgozó) 2.4.1-ről 2.4.7-re való frissítésével
  • CVE-2022-0778: OpenSSL-t érintő hiba javítása 1.1.1l-ről 1.1.1n-re történő frissítéssel (csak macOS és Windows telepítők)
  • CVE-2016-3189, CVE-2019-12900: bzip2 frissítve 1.0.6-ról 1.0.8-ra
  • CVE-2022-26488: Windows telepítőt érintő hiba javítása
  • CVE-2021-28363: beépített pip-et érintő hiba javítása
  • Egy azonosítás megkerülést lehetővé tevő hiba javítása az urllib.request komponensben
  • REDoS (Regular expression Denial of Service) támadást lehetővé tevő hiba javítása az importlib.metadata komponensben
  • SQLite frissítve 3.36.0-ról 3.37.2-re macOS és Windows telepítőkben

Verzióspecifikus változások:

Ansible: The PyMySQL (Python 2.7 and Python 3.X) or MySQL-python (Python 2.X) module is required

Ansible logó
Probléma : fatal: [127.0.0.1]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"}, "changed": false, "msg": "The PyMySQL (Python 2.7 and Python 3.X) or MySQL-python (Python 2.X) module is required."}
Azaz hiányzik a pymysql modul.

Ansible: The Python 2 bindings for rpm are needed for this module

Ansible logó
Probléma: fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "The Python 2 bindings for rpm are needed for this module. If you require Python 3 support use the `dnf` Ansible module instead.. The Python 2 yum module is needed for this module. If you require Python 3 support use the `dnf` Ansible module instead."}

A 2.8-as Ansible alapértelmezetten a Python 3-as verziójával próbál futni (mivel ugye a 2.x támogatása hamarosan véget ér). Azonban a 3-as Python verzióhoz nem érhető el a yum modul, a javasolt dnf modul pedig nem használható CentOS 7-en mivel ott még yum van.

Hamarosan véget ér a Python2 támogatása

Python logó

2020. január elsején hivatalosan véget ér a Python 2 támogatása. Azoknak, akik még nem álltak át a 3-as főverzióra, ajánlott minél hamarabb meglépniük a váltást. Részletek a hivatalos bejelentésben: https://www.python.org/doc/sunset-python-2/ (angol)

Hogy pontosan mennyi időd van (év végéig) az átállásra azt a Python 2.7 Visszaszámláló oldalon tudod megnézni.

Py2exe / PyInstaller: NameError: name 'exit' is not defined

Python logó
Probléma: Py2exe vagy PyInstaller alkalmazással próbálsz a Python kódodból hordozható, Windows alatt futtatható binárist fordítani. A fordítás sikeres, de mikor a programod az exit() függvényt hívja, a NameError: name 'exit' is not defined hibát kapod.
Megoldás: A sys modulból használd az exit függvényt.

import sys
sys.exit(0)

Python – pymssql throws ImportError: No module named '_mssql'

Python logó
Probléma: A pyinstallerrel fordított Windows bináris a következő hibával száll el:

> test.exe
Traceback (most recent call last):
  File "test.py", line 1, in <module>
    import pymssql
  File "C:\Python34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 573, in load_module
    module = loader.load_module(fullname)
  File "_mssql.pxd", line 10, in init pymssql (pymssql.c:12429)
ImportError: No module named '_mssql'
Failed to execute script test