How can I change default python shell version? - python-3.x

I am using Windows 10, and I have python 2.7 and 3.6 installed. I want to open a .py file in IDLE 3.6, but when I try to open it, it opens in 2.7. How can I change the default?

To make the python-2x or python-3x as default python IDLE, you need to change the environment variable, if you define the path for n versions of python, you will be able to use that particular version by typing that version in cmd.
See the superuser answer here for step by step instruction

There are different versions of IDLE installed for each Python version. Depending on how you installed Python on Mac OS X, you may find different folders in /Applications. Look for a Python 3.n (n = 1 or 2) folder with an IDLE in it. Or, from a terminal command line, you may find an idle2.6 and an idle3 or idle3.1 or idle3.2.
https://stackoverflow.com/a/4776403/3900156

Related

How to execute python program made on IDE from command prompt

I usually use pycharm for coding.
My question is how I can replace execution by IDE to command prompt execution. IDE makes it easy to set all python environments.
Windows 10 / Anaconda 3 / Python 3.7
My goal is to execute python program by windows scheduler.
Please let me know how to execute it.
Thanks.
Just open a command prompt, and then type:
python path_to_your_code/your_code.py
If this gives you errors that numpy, pandas etc are not installed then it means that the interpreter being used by your IDE (where you did not get such errors) is not the same one pointed at by python in command line.
If you're using a virtual environment or a python installation other than the default one you can just replace the python with a full path to the python binary in the environment you are using. So assuming your IDE is using the Anaconda environment, try this from command line:
c:\Anaconda3\python.exe path_to_your_code\your_code.py
Adding c:\Anaconda3 to PATH will not help if you already have another version of Python installed elsewhere, it will just mean that you now have two python.exe files in your path and python will still point at the same one.
However if where python already returns the path above, it means that your IDE is not using this interpreter and you'll need to find which one it is using. You can check this by looking in the Project Interpreter options or by running this script
import sys
print(sys.executable)

Python version doesn't seem to be updating

Here is what I get when I run the following commands in my terminal:
python --version
python 2.7.1
python3 --version
python 3.7.3
I ran the 'Update Shell Profile.command' file that comes with the Python3 download, but it still doesn't change the value of
python version
when I run it. My question is, is this normal? Does it change anything important other than needing to type 'python3 file.py' to run 'file.py'? If so, how do I change this? (Also, the computer I am using uses Homebrew which I am not familiar with, I am not sure if this changes anything or how.)
Python 2.7 and Python 3.7 are the latest releases of python 2 and 3 repsectively. Those two are two different version which can co-exist together. You can have both versions installed in your computer at the same time. If u dont like that just uninstall one(I'd suggest python2). The main difference is that python 3 offers many advantages compared to python 2. Some of them would be that some libraries work only for that version other legacy ones work for the other version etc. So there is no problem with having both but like i said there is really no point. Just choose whch version u like and uninstall the other one.

cannot run python 3.6 on atom(Already tried:downloaded script and added path in environment variables)

I installed Python 3.6 on my computer(windows 10) and it works(plz refer to the right on the screenshot. But it cannot work on Atom.(plz refer left on the screenshot).
I have downloaded script packages and added python path in environment variables settings;However, it still does not work.The error message shown below is garbled(labelled as red in the screenshot) so there is no clue for me to presume what might happen. Can somebody suggest me how else can I try to solve the problem? Thanks!!
If you are trying to run a script in atom, using the script module, make sure the first line of your script is #!path_to_python_interpreter.
When I do this the script will run using whichever version of python I enter on line 1.
I have two virtual environments on my Mac to run either python 2.7.13 or python 3.6. If I activate the 3.6 environment, and then run Atom from the command line, Atom will use whichever version of python that was activated.

'python3' is not recognized as an internal or external command, operable program or batch file

I am using Python 3.5.2 version on Windows 7 and tried using python3 app.py. I am getting this error message:
'python3' is not recognized as an internal or external command,
operable program or batch file.
Is there any specific cause about why the python3 command is not working?
I also verified that the PATH is added to environment variables.
There is no python3.exe file, that is why it fails.
Try:
py
instead.
py is just a launcher for python.exe. If you have more than one python versions installed on your machine (2.x, 3.x) you can specify what version of python to launch by
py -2 or
py -3
You can also try this:
Go to the path where Python is installed in your system. For me it was something like C:\Users\\Local Settings\Application Data\Programs\Python\Python37
In this folder, you'll find a python executable. Just create a duplicate and rename it to python3. Works every time.
Python3.exe is not defined in windows
Specify the path for required version of python when you need to used it by creating virtual environment for your project
Python 3
virtualenv --python=C:\PATH_TO_PYTHON\python.exe environment
Python2
virtualenv --python=C:\PATH_TO_PYTHON\python.exe environment
then activate the environment using
.\environment\Scripts\activate.ps1
Yes, I think for Windows users you need to change all the python3 calls to python to solve your original error. This change will run the Python version set in your current environment. If you need to keep this call as it is (aka python3) because you are working in cross-platform or for any other reason, then a work around is to create a soft link. To create it, go to the folder that contains the Python executable and create the link. For example, this worked in my case in Windows 10 using mklink:
cd C:\Python3
mklink python3.exe python.exe
Use a (soft) symbolic link in Linux:
cd /usr/bin/python3
ln -s python.exe python3.exe
In my case I have a git hook on commit, specified by admin. So it was not very convenient for me to change the script (with python3 calls).
And the simplest workaround was just to copy python.exe to python3.exe.
Now I could launch both python and python3.
If python2 is not installed on your computer, you can try with just python instead of python3
For Python 27
virtualenv -p C:\Python27\python.exe django_concurrent_env
For Pyton36
virtualenv -p C:\Python36\python.exe django_concurrent_env
Enter the command to start up the server in that directory:
py -3.7 -m http.server
I had a related issue after installing windows 11, where python3 in cmd would open the windows store. I was able to sort it out between this post and this other one. In short, I reinstalled python and made sure to add it to PATH. Then, in settings, Apps > Apps & Features > App Execution aliases. Here, all I had to do was make sure that every single python .exe (including idle and pip) were turned off EXCEPT FOR the python3.exe alias. Now it works like a charm.
FWIW:
The root of this issue is not with you or with python. Apparently, Microsoft wanted to make installing python easier for young kiddos getting interested in coding, so they automatically add an executable to PATH. For those of us that already have this executable, it can cause these issues.
Found out instead press the play button the top right and it should work in visual studios:
Do not disable according to first answer
Saying python3 in the command will not work by default.
After figuring out the problem with the modules (Solution): https://youtu.be/paRXeLurjE4
Summary:
To import python modules in case of problem to import modules:
Hover over python in search:
Click open in folder
Hover over and right click
click properties
copy everything in path before \python.exe
close those windows
For cmd (administrator):
cd --path that was copied--
then python -m pip install --upgrade pip
cd Scripts
pip install "Name of Package" such as pip install --module (package) --
Im on win10 and have 3.7, 3.8 and 3.10 installed.
For me "python" launches version 3.10 and does not accept commands (like -3.7), "py" launches newest version but does accept commands, and "python3" does nothing.
Uninstalled 3.10 and "python" now does nothing, and "py" launches 3.8.
I am unable to add a comment, but the mlink option presented in this answer above https://stackoverflow.com/a/55229666/8441472 by #Stanislav preserves cross-platform shebangs at the top of scripts (#!/usr/bin/env python3) and launches the right python.
(Even if you install python from python.org, Windows will direct you to the app marketplace nowadays if you type python3 on the command line. If you type python on the same cli it will launch the python.org version repl. It leads to scripts that generate no output, but more likely silently failed completely. I don't know ho common this is but have experienced it on a couple of different devices)
If you have this at the top of your script to ensure you launch python3 and don't feel like editing everything you own, it is not a bad approach at all... lol.

Why isn't lib in Python 3 install DOS PATH?

I installed Python 3.4 on a 64-bit Windows 7 machine. Works fine. I did choose the option to have Python added to the DOS PATH environment variable so that I could work at DOS command line, write python .py and it would work without having to type the full Python installation directory.
But when I tried to use pydoc, I discovered that it didn't know where pydoc was. Why? Because only Python34 and Python34\scripts are in the PATH. Why not also Python34/lib which has all sorts of useful tools, including pydoc.py?
If the command isn't bound, for whatever reason, Invoke pydoc with -m, e.g.
python -h
python -m pydoc some_file.py

Resources