I just downloaded Python 3.6.1, but when I type python3 -V in the terminal it's still Python 3.5.3. How can I make python3 point to Python 3.6? All versions are in the /usr/bin/ directory.
Asked
Active
Viewed 8.6k times
47
Willem Van Onsem
- 397,926
- 29
- 362
- 485
ian-campbell
- 1,495
- 1
- 19
- 39
-
What do you mean with "downloaded"? Did you "installed" it? How? – Willem Van Onsem May 02 '17 at 17:05
-
`sudo apt-get install python3.6` – ian-campbell May 02 '17 at 17:09
5 Answers
87
do
rm /usr/bin/python3
ln -s /usr/bin/python3.6 /usr/bin/python3
much better solution:
Damn, Python is used throughout much of Ubuntu for system scripts and software, and software relies on having Python (and the commands to start Python) in a certain spot. do back then.
rm /usr/bin/python3
ln -s /usr/bin/python3.5 /usr/bin/python3
create alias in ~/.bash_aliases
alias python3='/usr/bin/python3.6'
Scripts can then start with something like:
#!/usr/bin/env python3
tso
- 4,404
- 2
- 19
- 31
-
1`ln: failed to create symbolic link '/usr/bin/python3.6': File exists` – ian-campbell May 02 '17 at 17:14
-
You need to swap the arguments for `ln` to work: `ln -s /usr/bin/python3.6 /usr/bin/python3` – Laurent S May 02 '17 at 17:18
-
1
-
Correct, it worked with `ln -s /usr/bin/python3.6 /usr/bin/python3` – ian-campbell May 02 '17 at 17:18
-
2This solution actually broke my Ubuntu terminal. Something in the background is/was depending on `python3` pointing at `Python 3.5.3` and not `Python 3.6.1`. Not sure what, though. – ian-campbell May 02 '17 at 21:38
-
3Damn, Python is used throughout much of Ubuntu for system scripts and software, and software relies on having Python (and the commands to start Python) in a certain spot. do back then.
`rm /usr/bin/python3` `ln -s /usr/bin/python3.5 /usr/bin/python3` create alias in ~/.bash_aliases `alias python3='/usr/bin/python3.6'` Scripts can then start with something like: `#!/usr/bin/env python3` – tso May 03 '17 at 06:00
4
You could update the default python version system-wide using update-alternatives command.
$ sudo update-alternatives --set python3 /usr/bin/python3.6
or you can also run the following command to choose among the various python versions installed on a host.
$ sudo update-alternatives --config python
Tushar Gautam
- 409
- 4
- 18
2
If you are looking for other than the accepted answer. Here is the solution that saved my life. This is to replace it with new version.
$ python3 --version
Python 3.5.2
$ ls -lh /usr/bin/python3
lrwxrwxrwx 1 root root 9 Mar 23 2016 /usr/bin/python3 -> python3.5
$ sudo mv /usr/bin/python3 /usr/bin/_python3
$ sudo cp /usr/bin/python3.6 /usr/bin/python3
$ python3 --version
Python 3.6.11
Masood
- 111
- 4
-1
Method 1:
pip install virtualenv virtualenv name_of_projectMethod 2
py -3 -m venv name_of_project
-
- pip install virtualenv * - virtualenv envname or py -3 -m venv name_of_project – Vivek ps May 11 '22 at 11:39