Como alterar a versão padrão (binária) do python em uma cadeia do FreeBSD?

2

Em uma prisão, instalei python3.6 ao longo de python3.4 . Ambos foram instalados usando pkg install , sem portas. Eu quero manter a versão 3.4 por algum tempo, mas defina o 3.6 como padrão.

Respostas encontradas na internet, como este ou este ou envolvem a mim mesmo link /usr/local/bin/python to python3.6 (o que deve ser feito novamente após qualquer atualização do python padrão, o que eu gostaria de evitar; além disso, não há esse link de qualquer maneira); ou para definir DEFAULT_VERSIONS em /etc/make.conf , o que não tem efeitos na instalação de binários (eu tentei, no entanto).

Além disso, o ambiente virtual não é uma opção, já que eu quero executar uwsgi , o que requer o python padrão todo o sistema para corresponder ao do ambiente virtual python do aplicativo python que ele "monitores" (no meu caso, Django), para começar corretamente. Mesmo se eu começar dentro do ambiente virtual do Django (fornecendo python3.6), uwsgi detectará python3.4 como a versão padrão do python.

Não é possível encontrar se alguma variável de ambiente não está faltando.

Para informações, dentro da cadeia (e ambiente virtual):

# printenv 
USER=root
LOGNAME=root
HOME=/root
SHELL=/bin/csh
BLOCKSIZE=K
MAIL=/var/mail/root
PATH=/usr/local/venv/dj1/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
TERM=xterm-256color
HOSTTYPE=FreeBSD
VENDOR=amd
OSTYPE=FreeBSD
MACHTYPE=x86_64
SHLVL=1
PWD=/var/log
GROUP=wheel
HOST=dev_web0
EDITOR=vi
LANG=fr_FR.UTF-8
MM_CHARSET=UTF-8
PAGER=more
VIRTUAL_ENV=/usr/local/venv/dj1
    
por zezollo 03.05.2017 / 16:52

1 resposta

0

Todos os binários foram pré-construídos com as configurações padrão e o Python padrão atual é 3.6.

Para atingir seu objetivo, você pode instalar a versão desejada do Python como um binário, em seguida, pode configurá-la em DEFAULT_VERSIONS in /etc/make.conf e, em seguida, instalar uwsgi das portas usando essa versão. Eu faço este procedimento de forma automatizada com Python3.7 , que não é padrão ATM.

Como alternativa, você pode testar se seu aplicativo funciona bem em Python 3.6 (a atualização para seu código deve ser mínima, se houver) e continuar com binários padrão.

    
por 18.08.2018 / 16:38