On 17Jan2022 11:36, Shaozhong SHI <shishaozh...@gmail.com> wrote: >Set Operation System but not disturbing existing setting. Only to add at >the command line.
If you mean: "set on the command line so that I run some script using Python 3.6.1", usually you would just invoke the specific Python 3.6.1 executable. You can do that directly, or modify $PATH (UNIX, %path% on Windows?) to find that executable first when looking for the "python" (or "python3" or "py") command, or use a virtual environment. The first approach (direct execution) might look like this: [~]fleet2*> /usr/local/bin/python3.10 Python 3.10.0 (v3.10.0:b494f5935c, Oct 4 2021, 14:59:20) [Clang 12.0.5 (clang-1205.0.22.11)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> That's on my local Mac, "[~]fleet2*>" is my prompt, and there's a Python 3.10 installed as /usr/local/bin/python3.10. The second approach might look like this: env PATH=/Library/Frameworks/Python.framework/Versions/3.10/bin:$PATH python That places the Python 3.10 "bin" directory in my $PATH _ahead_ of all other paths, so that "python" is found there first, thus running the desired python version: [~]fleet2*> env PATH=/Library/Frameworks/Python.framework/Versions/3.10/bin:$PATH python3 Python 3.10.0 (v3.10.0:b494f5935c, Oct 4 2021, 14:59:20) [Clang 12.0.5 (clang-1205.0.22.11)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> That particular long path is an artifact of how Python is installed on my Mac. Adjust for your platform. The third approach is to use a virtual environment, a common approach for python development. A virtual environment is a little install directory based on a particular python version, where you can install a custom set of third party modules. You make one like this: /usr/local/bin/python3.10 -m venv venv That uses the "venv" module from python 3.10 to create a new virtual environment in the directory "venv" (in the current directory). >From that point onward you want the virtual env "bin" directory in your PATH: export PATH=$PWD/venv/bin:$PATH and thereon, _in that shell_, "python3" will run the python from the virtual environment (which uses the python3.10 you used to create the venv) and "pip3" will install modules into that virtual environment, not disturbing other setups. Virtualenvs come with an "activate" script whose purpose it to set up your current shell to use the environment; they essentially do the "export" above and also fiddle your prompt to remind you that you're using a particular environment. You don't need to use that - technically it is enough to directly invoke the python3 executable from the environment. Fiddling $PATH lets other things find that "python3" by default. Cheers, Cameron Simpson <c...@cskk.id.au> -- https://mail.python.org/mailman/listinfo/python-list