Na první pohled je to jednoduchý úkol, protože pro instalaci stačí příkaz:
sudo apt-get install python3.8
Jenže takto nainstalovaný python používá /usr/lib/python3/ stejně jako systémový python3.6, což nadělá paseku.
Já třeba narazil na chybu
...
File "/home/petr/.local/lib/python3.8/site-packages/IPython/utils/process.py", line 19, in <module>
from ._process_posix import system, getoutput, arg_split, check_pid
File "/home/petr/.local/lib/python3.8/site-packages/IPython/utils/_process_posix.py", line 23, in <module>
import pexpect
File "/usr/lib/python3/dist-packages/pexpect/__init__.py", line 75, in <module>
from .pty_spawn import spawn, spawnu
File "/usr/lib/python3/dist-packages/pexpect/pty_spawn.py", line 14, in <module>
from .spawnbase import SpawnBase
File "/usr/lib/python3/dist-packages/pexpect/spawnbase.py", line 224
def expect(self, pattern, timeout=-1, searchwindowsize=-1, async=False):
^
SyntaxError: invalid syntax
Což je v pořádku, protože v Pythonu 3.8 je async zakázaný keyword. Blbý je, že leze do systémové knihovny pro 3.6.
Když chci nainstalovat lokální pexpect, tak opět narážím na systémový.
petr@T460s-U18:~/Dropbox/!DATA-WORK/SITES/rady$ python3.8 -m pip install pexpect
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pexpect in /usr/lib/python3/dist-packages (4.2.1)
Jak python 3.8 nainstalovat, aby nelezl do systémových knihoven pro jinou verzi pythonu?