Přidejte /usr/local/bin
na váš PATH
proměnná prostředí, dříve v seznamu než /usr/bin
.
Obecně se to provádí v rc souboru vašeho shellu, např. pro bash byste to dali do .bashrc
:
export PATH="/usr/local/bin:$PATH"
To způsobí, že váš shell nejprve vyhledá python
v /usr/local/bin
, než to půjde s tím v /usr/bin
.
(To samozřejmě znamená, že musíte mít také /usr/local/bin/python
přejděte na python2.7
- pokud tomu tak ještě není, budete jej muset symbolicky propojit.)
Zadejte příkaz
which python
//output:
/usr/bin/python
cd /usr/bin
ls -l
Tady můžete vidět něco takového
lrwxrwxrwx 1 root root 9 Mar 7 17:04 python -> python2.7
váš výchozí python2.7 je jemně propojen s textem 'python'
Odstraňte tedy softlink python
sudo rm -r python
pak opakujte výše uvedený příkaz
ls -l
můžete vidět, že softlink je odstraněn
-rwxr-xr-x 1 root root 3670448 Nov 12 20:01 python2.7
Poté vytvořte nový softwarový odkaz pro python3.6
ln -s /usr/bin/python3.6 python
Pak zkuste příkaz python
v terminálu
//output:
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Zadejte help
, copyright
, credits
nebo license
pro více informací.
Pravděpodobně ve skutečnosti nechcete změnit svůj výchozí Python.
Vaše distribuce nainstalovala standardní systémový Python v /usr/bin
, a může mít skripty, které závisí na tom, zda je toto přítomno, a vybrané pomocí #! /usr/bin/env python
. Můžete obvykle vynechte spouštění skriptů Python 2.6 ve verzi 2.7, ale chcete to risknout?
Navíc se opičí s /usr/bin
může narušit schopnost správce balíčků spravovat balíčky. A změna pořadí adresářů ve vašem PATH
ovlivní spoustu dalších věcí kromě Pythonu. (Ve skutečnosti je běžnější mít /usr/local/bin
před /usr/bin
, a může to být to, co skutečně chcete – ale pokud to máte naopak, pravděpodobně to má dobrý důvod.)
Ale to nepotřebujete změnit svůj výchozí Python tak, aby systém spustil 2.7, když napíšete python
.
Nejprve můžete nastavit alias shellu:
alias python=/usr/local/bin/python2.7
Napište to na výzvu nebo to vložte do ~/.bashrc
pokud chcete, aby změna byla trvalá, a teď, když vy zadejte python
spustí vámi zvolenou verzi 2.7, ale když se nějaký program ve vašem systému pokusí spustit skript s /usr/bin/env python
běží na standardní verzi 2.6.
Případně stačí vytvořit virtuální prostředí z vašeho 2.7 (nebo samostatné venvs pro různé projekty) a dělat svou práci uvnitř venv.