Documentation for a newer release is available. View Latest

Python

ອັບເດດແພັກເກດ Python ເປັນເວີຊັນຫຼ້າສຸດ

ແພັກເກດ python3 ຖືກອັບເດດເປັນເວີຊັນຫຼ້າສຸດ 3.9 ໃນ Fedora 33 ແລ້ວ. ກ່ອນໜ້ານີ້, ໃນ Fedora 32 ໄດ້ຮອງຮັບແພັກເກດ python3 ເວີຊັນ 3.8 ເຊິ່ງຕອນນີ້ໄດ້ຮັບການອັບເດດແລ້ວ.

ການອັບເດດ Python 3.9 ຫຼ້າສຸດນີ້ຈະມີການປັບປຸງຫຼາຍຢ່າງ. ຈຸດເດັ່ນທີ່ສຳຄັນບາງຢ່າງມີຄື:

  • ເພີ່ມໂຕດຳເນີນການລວມ (union operators) ແບບລວມ (|) ແລະ ອັບເດດ (|=) ເຂົ້າໃນຄລາສ dict.

  • ການລະບຸປະເພດ (Type hinting) ແບບ generics ໃນຄໍເລັກຊັນມາດຕະຖານ.

  • ຮອງຮັບການຂຽນຄຳອະທິບາຍ (annotations) ຟັງຊັນ ແລະ ຕົວປ່ຽນທີ່ຢືດຢຸ່ນກວ່າເກົ່າ.

  • ຫຼຸດຜ່ອນຂໍ້ຈຳກັດທາງດ້ານໄວຍາກອນໂດຍການອະນຸຍາດໃຫ້ decorators ສາມາດເປັນນິພົດ (expression) ໃດກໍໄດ້ທີ່ຖືກຕ້ອງ.

  • ຮອງຮັບຖານຂໍ້ມູນເຂດເວລາ IANA ໃນໂມດູນ zoneinfo.

  • ເມັດທອດ (methods) removeprefix ແລະ removesuffix ຈະລຶບຄຳນຳໜ້າ (prefixes) ແລະ ຄຳຕໍ່ທ້າຍ (suffixes) ອອກຈາກສະຕຣິງ (string).

  • ຕອນນີ້ CPython ໃຊ້ຕົວວິເຄາະ (parser) ໃໝ່ ທີ່ອີງໃສ່ parsing expression grammar (PEG).

ໝາຍເຫດກ່ຽວກັບການຍ້າຍແພັກເກດ pip ທີ່ຕິດຕັ້ງໂດຍຜູ້ໃຊ້

ເມື່ອທ່ານອັບເກຣດ Fedora ຈາກເວີຊັນ 32 ເປັນ Fedora 33, ເວີຊັນຂອງຕົວແປພາສາ (interpreter) Python ຫຼັກຈະປ່ຽນຈາກ 3.8 ເປັນ 3.9. ຫາກທ່ານມີແພັກເກດ Python ໃດໜຶ່ງທີ່ຕິດຕັ້ງໂດຍໃຊ້ pip, ທ່ານຕ້ອງດຳເນີນການຕາມຂັ້ນຕອນຕໍ່ໄປນີ້ເພື່ອຍ້າຍພວກມັນໄປຫາເວີຊັນໃໝ່:

  1. ຕິດຕັ້ງແພັກເກດ python3 ເວີຊັນກ່ອນໜ້າ:

    sudo dnf install python3.8
  2. ຕິດຕັ້ງ pip ສຳລັບ Python ເວີຊັນກ່ອນໜ້າ:

    python3.8 -m ensurepip --user
  3. ກວດເບິ່ງລາຍຊື່ແພັກເກດທີ່ຕິດຕັ້ງແລ້ວ:

    python3.8 -m pip list
  4. ບັນທຶກລາຍຊື່ພ້ອມກັບເວີຊັນທີ່ເຈາະຈົງ:

    python3.8 -m pip freeze > installed.txt
  5. ຕິດຕັ້ງແພັກເກດດຽວກັນນັ້ນສຳລັບເວີຊັນເລີ່ມຕົ້ນ ໃນຕອນນີ້:

    python3 -m pip install --user -r installed.txt
  6. ຖອນການຕິດຕັ້ງແພັກເກດທີ່ຜູ້ໃຊ້ຕິດຕັ້ງສຳລັບ Python 3.8; ນີ້ເພື່ອໃຫ້ແນ່ໃຈວ່າໄດ້ລຶບໄຟລ໌ໃນ ~/.local/bin ອອກຢ່າງຖືກຕ້ອງ:

    python3.8 -m pip uninstall $(python3.8 -m pip list --user | cut -d" " -f1)
  7. ທາງເລືອກ, ລຶບໂຄງສ້າງໂຟນເດີທີ່ວ່າງເປົ່າໃນຕອນນີ້ອອກ:

    rm -rf ~/.local/lib/python3.8/
  8. ທາງເລືອກ, ຖອນ Python ເວີຊັນທີ່ບໍ່ຈຳເປັນອອກ:

    sudo dnf remove python3.8

ນອກຈາກນັ້ນ, ຫາກທ່ານມີແພັກເກດ pip ໃດໜຶ່ງທີ່ຕິດຕັ້ງໂດຍໃຊ້ sudo, ໃຫ້ລັນຄຳສັ່ງຕໍ່ໄປນີ້ ກ່ອນທີ່ຈະເຮັດຂັ້ນຕອນສຸດທ້າຍຂ້າງເທິງເຊິ່ງຈະເປັນການລຶບ python3.8 ອອກ, ຫຼື ຕິດຕັ້ງມັນຄືນໃໝ່ຊົ່ວຄາວ:

  1. ຕິດຕັ້ງ pip ສຳລັບ Python ເວີຊັນກ່ອນໜ້າສຳລັບຜູ້ໃຊ້ root:

    sudo python3.8 -m ensurepip
  2. ກວດເບິ່ງແພັກເກດທີ່ຕິດຕັ້ງໃນລະບົບ:

    sudo python3.8 -m pip list
  3. ຖອນການຕິດຕັ້ງແພັກເກດທີ່ຕິດຕັ້ງສຳລັບ 3.8; ນີ້ເພື່ອໃຫ້ແນ່ໃຈວ່າໄດ້ລຶບໄຟລ໌ໃນ /usr/local/bin ອອກຢ່າງຖືກຕ້ອງ:

    sudo python3.8 -m pip uninstall $(python3.8 -m pip list | cut -d" " -f1)
  4. ທາງເລືອກ, ລຶບໂຄງສ້າງໂຟນເດີທີ່ວ່າງເປົ່າໃນຕອນນີ້ອອກ:

    sudo rm -rf /usr/local/lib*/python3.8/

ຫາກທ່ານປະຕິບັດຕາມຂັ້ນຕອນທຳອິດ, ແພັກເກດຕ່າງໆຈະຖືກຕິດຕັ້ງໄວ້ສຳລັບບັນຊີຜູ້ໃຊ້ຂອງທ່ານແລ້ວ, ເຊິ່ງເປັນວິທີທີ່ແນະນຳ. ໃຫ້ຫຼີກເວັ້ນການໃຊ້ sudo pip ໃນອະນາຄົດ, ຄຳແນະນຳເຫຼົ່ານີ້ມີຈຸດປະສົງພຽງເພື່ອຊ່ວຍເຫຼືອຜູ້ໃຊ້ທີ່ເຄີຍໃຊ້ sudo pip ມາກ່ອນເທົ່ານັ້ນ.

ຍົກເລີກການໃຊ້ Python 3.4 ແລະ Python 2.6

ແພັກເກດ python34 ແລະ python26 ຖືກຍົກເລີກໂດຍບໍ່ມີການປ່ຽນແທນໃນ Fedora 33. ແພັກເກດເຫຼົ່ານີ້ຈະບໍ່ມີໃຫ້ບໍລິການໃນຄັງເກັບ (repositories) ອີກຕໍ່ໄປ, ແຕ່ມັນອາດຈະຍັງຄົງຄ້າງຢູ່ໃນເຄື່ອງທີ່ເຄີຍຕິດຕັ້ງໄວ້ແລ້ວ. ທັງສອງແພັກເກດນີ້ເຄີຍຖືກເກັບໄວ້ໃນ Fedora ດ້ວຍເຫດຜົນດ້ານການຮອງຮັບລະບົບເກົ່າ (legacy), ແຕ່ການບຳລຸງຮັກສາຢ່າງຕໍ່ເນື່ອງນັ້ນເຮັດໄດ້ຍາກຂຶ້ນເລື້ອຍໆ ໃນຂະນະທີ່ຜົນປະໂຫຍດທີ່ມີຕໍ່ລະບົບນັ້ນຫຼຸດລົງ, ນັ້ນແມ່ນເຫດຜົນທີ່ພວກມັນຖືກຖອນອອກໃນຕອນນີ້.