Sé que esta es una pregunta similar a las que ya se han hecho muchas veces, pero aún no puedo obtener una solución confiable.
Tengo muchas versiones de python instaladas en mi Ubuntu 16.04, desde la 2.7 hasta la última 3.7.4.
El valor predeterminado es 2.7. Sé que no debo cambiar el valor predeterminado, porque otros lo han hecho y trajo problemas tan graves como fallas en el sistema.
Sin embargo, tengo que instalar un software a través de pip:
pip install damn_software
que requiere python>=3.6
:~$ pip install damn_software
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting damn_software
Using cached https://files.pythonhosted.org/packages/cc/19/632db1d5095a35b08ba000d63e1ceffaf56c730dbd259f021e1fb7a75f68/damn_software-0.1.8.tar.gz
ERROR: Command errored out with exit status 1:
command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qDPgIM/damn_software/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qDPgIM/damn_software/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
cwd: /tmp/pip-install-qDPgIM/damn_software/
Complete output (1 lines):
ERROR: Python (3, 5) or later is required by software-helpers for damn_software
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
No sé cómo solucionar esto? ¿Quizás un enlace simbólico?
EDITAR :Tuve que ejecutar los siguientes comandos adicionales antes de que se completara la instalación:
python3.7 -m pip install --user --upgrade pip
python3.7 -m pip install your_packages
sudo apt install python3.7-dev
Respuesta aceptada:
Simplemente ejecute el intérprete de Python de la versión que desee, con pip
como módulo a ejecutar, como:
python3.6 -m pip install some_package
De esa manera, puede estar 100% seguro de que el intérprete con el que inicia sus scripts es el mismo para el que administra los paquetes pip. No es necesario modificar el sistema.
El pip
ejecutable no está exactamente definido como una versión fija de todos modos, cualquier actualización a continuación probablemente lo anulará nuevamente. Además, a veces se rompe por otras razones, como incompatibilidades de versión de todos modos. Por lo general, no lo usaría directamente, excepto tal vez cuando esté en un venv (entorno virtual de Python) donde se define exactamente qué es.