Python-future: Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ для удалСния ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° __future __ / future ΠΈΠ· Ρ„ΡƒΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 28 мая 2019  Β·  5ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: PythonCharmers/python-future

Π― искал эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ Π½Π΅ нашСл Π΅Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, поэтому ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽ запрос Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π― Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ исправлСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Π΅Ρ€Π΅Ρ‚ ΠΊΠΎΠ΄, совмСстимый с Python 2/3, ΠΈ удаляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Python 2 ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅.

Π­Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹:

  • Π£Π΄Π°Π»ΠΈΡ‚Π΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ __future__ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, print_function )
  • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ строки from future import standard_library ΠΈ standard_library.install_aliases()
  • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ from builtins import * строк
  • Π£Π΄Π°Π»ΠΈΡ‚ΡŒ from future.utils import python_2_unicode_compatible

Если Ρ‚Π°ΠΊΠΎΠΉ фиксатор ΡƒΠΆΠ΅ сущСствуСт, я Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± этом.

НСкоторыС ΠΌΠΎΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ future для обновлСния своСго ΠΊΠΎΠ΄Π° Π΄ΠΎ Python 3, Π° Π·Π°Ρ‚Π΅ΠΌ вскорС послС этого ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Python 2, ΠΈ Ρ‚Π°ΠΊΠΎΠΉ фиксатор Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½.

futurize script help wanted unscheduled wontfix / cantfix

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― сам сдСлал Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСобразования ΠΈ собрал ΠΈΡ… Π² скрипт. Π’ настоящСС врСмя ΠΎΠ½ доступСн здСсь: https://github.com/purplediane/drop2

ВсС 5 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Если ΠΎΠ½ сущСствуСт, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ½ ΠΏΠ»ΠΎΡ…ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ всС это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ приспособлСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ запускаСтся автоматичСски, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, с Ρ‚Π°ΠΊΠΈΠΌ Ρ„Π»Π°Π³ΠΎΠΌ, ΠΊΠ°ΠΊ -3 ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΌ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для соотвСтствия 3 ΠΈ игнорирования совмСстимости с python2.

Π― сам сдСлал Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСобразования ΠΈ собрал ΠΈΡ… Π² скрипт. Π’ настоящСС врСмя ΠΎΠ½ доступСн здСсь: https://github.com/purplediane/drop2

Бвязанный инструмСнт с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ __future__ import):

asottile / pyupgrade: инструмСнт (ΠΈ Π»ΠΎΠ²ΡƒΡˆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ фиксациСй) для автоматичСского обновлСния синтаксиса для Π½ΠΎΠ²Ρ‹Ρ… вСрсий языка.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ:

  • УдаляСт прСфикс u
  • УдаляСт (object) ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ class
  • ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ super() Π·Π²ΠΎΠ½ΠΊΠΈ
  • ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ mock

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я смог ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sed для standard_library :

sed -i '' '/.*standard_library.*/d' **/*.py
-from future import standard_library
-standard_library.install_aliases()
 import json
 import logging
 import urllib.parse

Π― ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС для:

  • .*python_2_unicode_compatible.*
  • .*implements_iterator.*
  • from builtins.*

Π― ΡƒΠΆΠ΅ знаю ΠΎ pyupgrade ΠΈ использовал Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

pyupgrade (плюс Π»ΠΎΠ²ΡƒΡˆΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ фиксациСй) - ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт для этой Ρ†Π΅Π»ΠΈ. МоТСм Π»ΠΈ ΠΌΡ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ этот FR, Ссли Π΅ΡΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°?

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ