Changing default python to another version

社会主义新天地 提交于 2019-11-30 10:46:40

Since you have Linux, and if you want to simply type "python" instead of "python3" in order to run Python programs, a solution is simply to define an alias in you shell configuration file (.bashrc, etc.). For Bourne shells, it should be something like

alias python=python3

(or whatever your Python 3 name is).

This way, you do not have to change anything on your system, so this solution should quite innocuous and it should not break your system.

You really don't want to change what python points to, because some programs might expect Python 2, and break.

The solution is to use virtualenv: create an isolated Python 3 environment (with the -p python3 option), activate it, and you're good to go.

jfs

It is not advisable.

You could write at the top in your own script (a shebang):

#!/usr/bin/env python3

If you're on Windows then install pylauncher. It understands #!.

On Linux to make your script executable, run once:

$ chmod +x your-script

After that, to run your script:

$ ./your-script

For interactive use you could create virtualenv as @Petr Viktorin points out. To install/upgrade (versions from Ubuntu's repositries are too old):

$ pip install -U virtualenv{,wrapper}

Follow instructions in /path/to/virtualenvwrapper.sh, to create virtualenv that uses python3:

$ mkvirtualenv --python python3 py3

To activate virtualenv:

$ workon py3

In an active virtualenv python refers to /path/virtualenv/bin/python. So you could run:

$ python your_module.py

You could follow this procedure:

sudo rm /usr/bin/python

sudo ln -s /usr/bin/python3.1 /usr/bin/python

But as already stated by Petr Viktorin, any programs that would expect python v2 would stop to work. So use with caution. You can undo the change by running:

sudo rm /usr/bin/python

sudo ln -s /usr/bin/python2.6 /usr/bin/python

unlink /usr/bin/python
ln -s /usr/bin/python3.1 /usr/bin/python

On Linux/Mac OS you can use python3 instead of python.

Try update-alternatives for Linux.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!