How to check all versions of python installed on osx and centos
Use,
yum list installedcommand to find the packages you installed.
How can I check all the installed Python versions on Windows?
I just got the answer. By typing "py -h" or "py --help" I got the help message:
C:\Users\admin>py -h
Python Launcher for Windows Version 3.7.1150.1013
usage:
py [launcher-args] [python-args] script [script-args]
Launcher arguments:
-2 : Launch the latest Python 2.x version
-3 : Launch the latest Python 3.x version
-X.Y : Launch the specified Python version
The above all default to 64 bit if a matching 64 bit python is present.
-X.Y-32: Launch the specified 32bit Python version
-X-32 : Launch the latest 32bit Python X version
-X.Y-64: Launch the specified 64bit Python version
-X-64 : Launch the latest 64bit Python X version
-0 --list : List the available pythons
-0p --list-paths : List with paths
Which tells me that "-0" (zero, not letter "O") lists the available pythons:
C:\Users\admin>py -0
Installed Pythons found by py Launcher for Windows
-3.7-64 *
-3.7-32
-2.7-64
-2.7-32
While "-0p" lists not only the versions, but also the paths:
C:\Users\admin>py -0p
Installed Pythons found by py Launcher for Windows
-3.7-64 C:\Users\admin\AppData\Local\Programs\Python\Python37\python.exe *
-3.7-32 C:\Users\admin\AppData\Local\Programs\Python\Python37-32\python.exe
-2.7-64 C:\Python27_64\python.exe
-2.7-32 C:\Python27_32\python.exe
Multiple Python versions on the same machine?
I think it is totally independent. Just install them, then you have the commands e.g. /usr/bin/python2.5
and /usr/bin/python2.6
. Link /usr/bin/python
to the one you want to use as default.
All the libraries are in separate folders (named after the version) anyway.
If you want to compile the versions manually, this is from the readme file of the Python source code:
Installing multiple versions
On Unix and Mac systems if you intend to install multiple versions of Python
using the same installation prefix (--prefix argument to the configure
script) you must take care that your primary python executable is not
overwritten by the installation of a different version. All files and
directories installed using "make altinstall" contain the major and minor
version and can thus live side-by-side. "make install" also creates
${prefix}/bin/python3 which refers to ${prefix}/bin/pythonX.Y. If you intend
to install multiple versions using the same prefix you must decide which
version (if any) is your "primary" version. Install that version using
"make install". Install all other versions using "make altinstall".For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being
the primary version, you would execute "make install" in your 2.6 build
directory and "make altinstall" in the others.
Too many different Python versions on my system and causing problems
Why did it get messed up?There're a couples of different way to install Python, as the update of OP says, and they locate files in different locations. For example, macports
puts things into /opt/local/
, while homebrew
puts things into /usr/local/
. Also, Mac OS X brings a few python versions with itself. So, if you install python many times via different ways, you will get many python versions existing independently on your system.
I don't know exactly. I guess the problem is that if you have many versions of python, then which one to use and where to find packages will be determined by the path order in your system PATH
and the PYTHONPATH
respectively. So you may lose control of where to install python modules. Consider that if you run sudo python setup.py install
to install a module (it finds python by the root's PATH
) and then try to import
the module by python -c "import it"
(this time it finds python by your PATH
), maybe something will go wrong. This is my guess, I didn't validate it. But in my own case, something did go wrong.
I think the principle would be that be aware of that different ways and tools install things independently to different locations, so use them mindfully.
- Unless you intend to, don't install the same thing twice via different
ways. (If you intend to do it for python, you might want to check outvirtualenv
) - Keep an eye on the path order in your
PATH
and consider if it's
correct. - When installing modules, be clear which python (or pip) is
running and where the module is installed.
Since it had been messing up already and seemed to be very hard to cure, so finally I solved this question by a full OS re-installation, and started to follow the DOs-and-DONTs above. For the installation of the scientific environment with python (numpy/scipy/matplotlib, which had shown problems to make me ask this question), I found this tutorial was extremely helpful. So, problem solved finally.
How to switch Python versions in Terminal?
The simplest way would be to add an alias to python3
to always point to the native python
installed. Add this line to the .bash_profile
file in your $HOME
directory at the last,
alias python="python3"
Doing so makes the changes to be reflected on every interactive shell opened.
Related Topics
No Output Displays When Execute Python File
Converting a List into Comma Separated and Add Quotes in Python
How to Install a Module for All Users With Pip on Linux
How to Index a Middle Character in a List in Python
How to Detect and Remove Outliers from Each Column of Pandas Dataframe At One Go
How to Get the Column Name in Pandas Based on Row Values
Remove Timestamp from Date String in Python
How to Make a Function Change Variables While in a While Loop
How to Call a Django Function on Button Click
How to Select the Last Column of Dataframe
How to Overwrite the Previous Print to Stdout
How to Use Chrome Webdriver in Selenium to Download Files in Python
Valueerror: Cannot Reshape Array of Size 30470400 into Shape (50,1104,104)