Vím, že je to otázka podobná těm, které jsem již položil mnohokrát, ale stále nemohu získat důvěryhodné řešení.
Na svém Ubuntu 16.04 mám nainstalovaných mnoho verzí pythonu, od 2.7 po nejnovější 3.7.4.
Výchozí hodnota je 2.7. Vím, že bych neměl měnit výchozí nastavení, protože to udělali jiní a přineslo to problémy tak vážné jako selhání systému.
Musím však nainstalovat software přes pip:
pip install damn_software
což vyžaduje 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.
Nevím, jak to obejít? Možná symbolický odkaz?
UPRAVIT :Před instalací jsem musel spustit následující dodatečné příkazy:
python3.7 -m pip install --user --upgrade pip
python3.7 -m pip install your_packages
sudo apt install python3.7-dev
Přijatá odpověď:
Stačí spustit interpret Pythonu požadované verze pomocí pip
jako modul ke spuštění, například:
python3.6 -m pip install some_package
Tímto způsobem si můžete být 100% jisti, že interpret, pomocí kterého spouštíte své skripty, je stejný jako u kterého spravujete balíčky pip. Nejsou nutné žádné úpravy systému.
pip
spustitelný soubor není přesně definován jako pevná verze, jakákoli další aktualizace by jej pravděpodobně znovu přepsala. Navíc se někdy přeruší z jiných důvodů, jako je nekompatibilita verzí. Obvykle bych to přímo nepoužíval, možná s výjimkou situace, kdy jste ve venv (virtuální prostředí Pythonu), kde je přesně definováno, co to je.