[python] Python 2 v utilitách...

Vladimír Macek macek na sandbox.cz
Čtvrtek Srpen 25 11:24:55 CEST 2022


Otázka do pléna :-)

Dnes mi Ubuntu nabídlo odinstalování obsolete balíku python-is-python2, 
jehož součástí je symlink
/usr/bin/python -> python2

Přestanou tím fungovat všechny skripty, které mají shebangy

#!/usr/bin/python
#!/usr/bin/env python

plus cokoli, co prostě volá "python" a není ve virtualenvu.

Zároveň je možné nainstalovat balík python-is-python3, což vyrobí symlink
/usr/bin/python -> python3

Tedy... grand switch. :-D

Pokud se vymění systémový symlink, skončí pro danou mašinu tak trochu jedna 
éra. Asi nejsem sám, kdo má doma nebo na serverech mnoho svých utilit pro 
python2, které mají buď jeden z výše uvedených shebangů, některé nemají 
shebang vůbec a některé ani nemají příponu .py, protože jsou myšlené jako 
příkazy.

Říkal jsem si "budeš mít prázdnou sekci Obsolete and locally created 
packages v aptitude", tak jsem balík python-is-python2 odstranil. Tím se 
mimochodem odstranil i celý python2.7! :-D Ten jsem rychle vrátil zpět. Na 
to připraven úplně nejsem.

Pak jsem začal dumat, jak z hodiny na hodinu změnit vše na python3. Chvilku 
jsem procházel ten svůj swamp skriptů... dumal.

Zkusil jsem hromadně 2to3, ale ten občas spadne, když nemůže nějaký soubor 
přečíst, shebangy zdá se neopravuje.. trochu mě to naprdlo... :-)

Nakonec jsem si řekl, že na akci kulový blesk teď čas nemám. A protože 
python-is-python2 po odstranění v nabídce již není, vyrobil jsem systémový 
symlink python na python2 ručně.

Moc pyšný na to nejsem, ale asi to budu řešit postupně.

Jak jste to vyřešili vy?

-- 
Děkuji. S pozdravem

Vladimír Macek | +420 608 978 164



Další informace o konferenci Python