Je sais que c'est une question similaire à celles déjà posées à plusieurs reprises, mais je n'arrive toujours pas à obtenir une solution fiable.
J'ai de nombreuses versions de python installées sur mon Ubuntu 16.04, de la 2.7 à la dernière 3.7.4.
La valeur par défaut est la 2.7. Je sais que je ne devrais pas changer la valeur par défaut, car d'autres l'ont fait et cela a entraîné des problèmes aussi graves que des pannes du système.
Cependant, je dois installer un logiciel via pip :
pip install damn_software
qui nécessite 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.
Je ne sais pas comment contourner cela? Peut-être un lien symbolique ?
MODIFIER :J'ai dû exécuter les commandes supplémentaires suivantes avant l'installation :
python3.7 -m pip install --user --upgrade pip
python3.7 -m pip install your_packages
sudo apt install python3.7-dev
Réponse acceptée :
Exécutez simplement l'interpréteur Python de la version souhaitée, avec pip
comme module à exécuter, comme :
python3.6 -m pip install some_package
De cette façon, vous pouvez être sûr à 100% que l'interpréteur avec lequel vous lancez vos scripts est le même que celui pour lequel vous gérez les packages pip. Aucune modification du système nécessaire.
Le pip
l'exécutable n'est pas exactement défini comme étant une version fixe de toute façon, quelles que soient les prochaines mises à jour, il est probable qu'il le remplace à nouveau. De plus, il se casse parfois pour d'autres raisons comme des incompatibilités de version de toute façon. Je ne l'utiliserais généralement pas directement du tout, sauf peut-être lorsque vous êtes dans un venv (environnement virtuel Python) où il est exactement défini de quoi il s'agit.