Para testar uma nova versão de um aplicativo Python, preciso instalar a última versão estável do Python em minha máquina OpenSuSE 15.4 /* que, por padrão, vem com o Python 3.6 */. Então, baixei o Python 3.10.11 e o construí. make install
funcionou, mas o próximo comando não por causa de um msvcrt
módulo ausente:
╭─jacek@epica ~/bin/tmp/Python-3.10.11/dist/bin
╰─➤ ./python3 -m pip install --upgrade pip
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Traceback (most recent call last):
File "/home/jacek/bin/tmp/Python-3.10.11/dist/lib/python3.10/subprocess.py", line 69, in <module>
import msvcrt
ModuleNotFoundError: No module named 'msvcrt'
O módulo ausente é realmente a interface para o tempo de execução do Microsoft Visual C++? Se sim, por que é necessário ao instalar o Python em uma máquina Linux? Aparentemente, existe apenas um tipo de tarball de origem (embora em 2 formatos de arquivo diferentes) no site do Python. As variáveis home / dir do python não estão definidas, BTW:
╭─jacek@epica ~/bin/tmp/Python-3.10.11/dist/bin
╰─➤ echo $PYTHONHOME 1 ↵
╭─jacek@epica ~/bin/tmp/Python-3.10.11/dist/bin
╰─➤ echo $PYTHONPATH
╭─jacek@epica ~/bin/tmp/Python-3.10.11/dist/bin
╰─➤
Definir o diretório inicial do python manualmente (no meu caso: /home/jacek/bin/tmp/Python-3.10.11/dist
) não ajuda, no entanto.
OK, encontrei a solução em uma postagem (bastante antiga) a seguir no StackOverflow:
A instalação do Python 3.7 não funciona no openSUSE Leap 42.3
Ele diz o seguinte:
Mas, por favor, não me pergunte por que o processo de configuração não cria o link simbólico.