Mi sistema FreeBSD cuenta actualmente con las versiones 2.7.14 y 3.6.5 del lenguaje de programación e intérprete Python. Sin embargo, al ejecutar env python o simplemente python, no se encuentra el binario.



Mi estación de trabajo corriendo FreeBSD 11.1 cuenta con las versiones de Python 2.7.14 y 3.6.5:

root@hal9000:/usr/home/emi # python2 --version
Python 2.7.14
root@hal9000:/usr/home/emi # python3 --version
Python 3.6.5

Sin embargo, al tratar de ejecutar python, no se encuentra el comando o ejecutable:

root@hal9000:/usr/home/emi # env python
env: python: No such file or directory
root@hal9000:/usr/home/emi # which python
python: Command not found.

Esto se debe a que es necesario ejecutar python2 o python3, según la versión del intérprete que se desee utilizar. Ambos son enlaces simbólicos provistos por los meta-ports lang/python2 y lang/python3. Estos ports se encargan de mantener los enlaces simbólicos actualizados y apuntando a la última versión instalada de cada versión de Python (valga la redundancia):

emi@hal9000:~ % file /usr/local/bin/python2
/usr/local/bin/python2: symbolic link to python2.7
emi@hal9000:~ % file -b /usr/local/bin/python2.7
ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 11.0 (1100122), FreeBSD-style, stripped
emi@hal9000:~ % file /usr/local/bin/python3
/usr/local/bin/python3: symbolic link to python3.6
emi@hal9000:~ % file -b /usr/local/bin/python3.6
ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 11.1, FreeBSD-style, stripped

Sin embargo es posible instalar el meta-port lang/python, el cual instalará los enlaces simbólicos correspondientes a la versión por defecto de Python:

# pkg install python

De esta forma se provee correctamente el comando python:

root@hal9000:/usr/home/emi # which python
/usr/bin/python
root@hal9000:/usr/home/emi # python --version
Python 2.7.14

Se observa que actualmente la versión por defecto es python2:

root@hal9000:/usr/home/emi # file /usr/local/bin/python
/usr/local/bin/python: symbolic link to python2

Si se desea cambiar la versión por defecto manteniendo Python 2.7 instalado, será necesario crear el enlace simbólico manualmente:

# cd /usr/local/bin
# mv python python.pkg
# ln -s python3 python

Referencias


Tal vez pueda interesarte


Compartí este artículo