Important
If you are using a Python from any current python.orgPython installer for macOS (3.8.0+, 3.7.2+, 3.6.8, or 2.7.16+),no further action is needed to use IDLE or tkinter.A built-in version of Tcl/Tk 8.6 will be used.
Python free download - Python, Python 3 Script Plugin for Xojo, FontLab, and many more programs. Python is also usable as an extension language for applications that need a programmable interface.The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac.
If you are using macOS 10.6 or later, the Apple-suppliedTcl/Tk 8.5 has serious bugs that can cause application crashes.If you wish to use IDLE or Tkinter, do not use the Apple-suppliedPythons. Instead, install and use a newer version of Pythonfrom python.org or a third-party distributor that supplies orlinks with a newer version of Tcl/Tk.
Python's integrated development environment,IDLE, and thetkinter GUI toolkitit uses, depend on the Tk GUI toolkit which isnot part of Python itself. For best results, it is important that theproper release of Tcl/Tk is installed on your machine.For recent Python installers for macOS downloadable from this website,here is a summary of current recommendations followed by more detailedinformation.
Python comes pre-installed on Mac OS X so it is easy to start using. However, to take advantage of the latest versions of Python, you will need to download and install newer versions alongside the system ones. The easiest way to do that is to install one of the binary installers for OS X from the Python Download. Download the latest version of Python for Mac. A practical, multiparadigm programming language. Python is a free, open-source interpreted language that stands. Installing Python 3 on Mac OS X. The version of Python that ships with OS X is great for learning, but it’s not good for development. The version shipped with OS X may be out of date from the official current Python release, which is considered the stable production version.
PythonRelease | InstallerVariant | macOSRelease | RecommendedTcl/Tk | AlternateTcl/Tk | NotRecommended |
---|---|---|---|---|---|
3.8.5,3.7.9,2.7.18 | all | 10.9 to10.15 | built-in8.6.8 |
There are currently three major variants of Tk in common use on macOS:
- Aqua Cocoa Tk
- A newer native implementation availableas a universal 64-bit and 32-bit binary. This variant is the standard nativemacOS variant in Tk 8.6 and as of Tk 8.5.13. Aqua Cocoa support wasbackported to Tk 8.5 (prior to 8.5.13) and released by Apple starting with macOS 10.6and by ActiveState starting with their 8.5.9.1 release.
- Aqua Carbon Tk
- Because it is implemented with older macOS Carbon interfaces, it isonly available as a 32-bit binary (usually for Intel and PowerPCprocessors). Aqua Carbon Tk 8.4 is included with macOS releases 10.4through 10.14 and is also available from ActiveState. Aqua Carbon variantsof Tk 8.5 had been available as an ActiveState Community Download priorto ActiveTcl 8.5.9. As of 8.5.13, the Tk project no longer supportsCarbon builds of Tk 8.5. 32-bit-only Python installers downloadablefrom this website for older Python releases were linked with Aqua CarbonTk 8.4.
- X11 Tk
- The traditional platform-independent UNIX Tk implementation whichrequires an X11 server, such as the Apple X11.app available as anoptional component in older macOS releases or from third-partydistributors. 64-bit and32-bit binaries can be built. While the Python installers downloadablefrom this website do not support X11 Tk, other distributors ofPython for macOS may do so.
built-in 8.6.8
As of Python 3.7.0, 3.6.8, and 2.7.16, all current Python installers for macOSdownloadable from python.org supplytheir own private copies of Tcl/Tk 8.6.8. They do not look for or use anythird-party or system copies of Tcl/Tk. This is an Aqua Cocoa Tk.
ActiveTcl 8.5.18.0
ActiveState provides binary distributions of Tcl/Tk which are upward compatiblewith and generally more up-to-date than those provided by Apple in macOSreleases. This version of Tcl/Tk includes fixes for some critical problemsthat you may encounter using tkinter or IDLE (see Apple 8.5.9 below).You can download an installer for this release fromthe ActiveState web site.Note that ActiveState Community Edition binaries are not open source andare covered by an ActiveState license. You should read the licensebefore downloading to verify that your usage complies with its terms of use.As of Python 3.7.0, 3.6.8, and 2.7.16, no current Python installers for macOSdownloadable from python.org make use of this or any other external versionof Tcl/Tk.
This is an Aqua Cocoa Tk.
Apple 8.5.9
This release is included in macOS 10.7 through at least macOS 10.14.As of this writing,there are at least two known issues with Tk 8.5.9 thatare present in Apple 8.5.9 Tk but fixed in more recent upstream 8.5 releases.The more serious problem is an immediate crash in Tkwhen entering a composition character, like Option-u on a US keyboard.(This problem is documented asTk bug 2907388.)There is also the more general problem of input manager support for compositecharacters(Tk bug 3205153)which has also been fixed in more recent Tcl/Tk 8.5 releases.You can avoid these problems by using a current python.org installeror by using a third-partydistribution of Python that does not use Apple 8.5.9 Tk.This is an Aqua Cocoa Tk.
Apple 8.5.7
This release is included in macOS 10.6. IDLE is known to hang or crashwhen used with the Apple 8.5.7 included in all versions of macOS 10.6.x.Because of this,we strongly recommend that you do not attempt to use Tkinter or IDLE withthe Apple-supplied Python 2.6.1 in 10.6. Instead, install a newer version ofPython that supports a newer version of Tk.This is an Aqua Cocoa Tk.
Note
While Tcl and Tk areseparate frameworks and libraries, they are closely related and arenormally installed or updated simultaneously. You should notattempt to mix-and-match Tcl and Tk versions. References toa specific version of Tk assume the corresponding version ofTcl is installed as well.
The Python for macOS installers downloaded from this website dynamicallylink at runtime to Tcl/Tk macOS frameworks. The Tcl/Tk major version isdetermined when the installer is created and cannot be overridden.All current python.org installers for Python 3.7.x, 3.6.x,and 2.7.x link to their own built-in Tcl/Tk 8.6 frameworks and do not useexternal Tcl/Tk frameworks so the rest of this section only applies tonon-current releases and, as such, no longer supported.
The Python 64-bit/32-bit macOS installers for Python 3.6.x andand 2.7.x dynamically link to Tcl/Tk 8.5 frameworks.The dynamically linking occurs when tkinter (Python 3)or Tkinter (Python 2) is first imported (specifically, the internal_tkinter C extension module). By default, the macOS dynamic linkerlooks first in /Library/Frameworks for Tcl and Tk frameworks withthe proper major version. This is the standard location for third-partyor built from source frameworks, including the ActiveTcl releases.If frameworks of the proper major version are not found there,the dynamic linker looks for the same version in/System/Library/Frameworks, the location for Apple-suppliedframeworks shipped with macOS. (Note, you should normally not modifyor delete files in /System/Library.)
As is common on macOS, the installed Pythons and the Tcl and Tkframeworks are built to run on multiple CPU architectures (universalbinaries) and across multiple macOS levels (minimum deploymenttarget). For Python to be able to dynamically link with a particularTcl and Tk version, the available architectures in the Tcl/Tk frameworksmust include the architecture that Python is running in and theirminimum deployment target should be no greater than that of Python.
- 2020-08-17 - updated for 3.7.9
- 2020-07-20 - updated for 3.8.5
- 2020-06-27 - updated for 3.7.8
- 2020-05-14 - updated for 3.8.3
- 2020-03-10 - updated for 3.8.2 and 3.7.7
- 2019-12-19 - updated for 3.8.1, 3.7.6, and 2.7.17
- 2019-10-15 - updated for 3.8.0, 3.7.5, and macOS 10.15
- 2019-07-08 - updated for 3.7.4; 3.6.x is now security-fix-only
- 2019-03-25 - updated for 3.7.3
- 2019-03-03 - updated for 2.7.16
- 2018-12-24 - updated for 3.7.2 and 3.6.8
- 2018-10-20 - updated for 3.7.1, 3.6.7, and macOS 10.14
- 2018-06-27 - updated for 3.7.0 and 3.6.6
- 2018-05-30 - updated for 3.7.0b5
- 2018-05-02 - updated for 3.7.0b4 and 2.7.15; removed 32-bit-only refs
- 2018-03-29 - updated for 3.7.0b3 and 3.6.5
- 2018-02-28 - updated for 3.7.0b2
- 2018-01-31 - updated for 3.7.0b1 and 3.6.4
- 2017-10-03 - updated for 3.6.3 and macOS 10.13
- 2017-09-16 - updated for 2.7.14; removed 3.5.x
- 2017-07-17 - updated for 3.6.2
- 2017-03-21 - updated for 3.6.1 and (belatedly) 3.5.3
- 2016-12-23 - updated for 3.6.0
- 2016-12-17 - updated for 2.7.13
- 2016-09-23 - updated for macOS 10.12
- 2016-07-31 - updated for 3.5.2 and 2.7.12; removed 3.4.x
- 2015-12-20 - updated for 3.4.4
- 2015-12-06 - updated for 3.5.1, 2.7.11, and macOS 10.11
- 2015-09-13 - updated for 3.5.0
- 2015-05-23 - updated for 2.7.10 and ActiveTcl 8.5.18.0
- 2015-02-23 - updated for 3.4.3
- 2014-12-10 - updated for 2.7.9 and ActiveTcl 8.5.17.0
- 2014-10-16 - updated for macOS 10.10
- 2014-10-06 - updated for 3.4.2 and ActiveTcl 8.5.16.0
- 2014-09-22 - updated for 3.4.2rc1
- 2014-07-01 - updated for 2.7.8
- 2014-06-01 - updated for 2.7.7; removed 2.7.6 and 3.3.5
- 2014-05-18 - updated for 3.4.1 and 2.7.7rc1
- 2014-03-16 - updated for 3.4.0 and 3.3.5
- 2014-02-10 - updated for 3.3.4 and 3.4.0rc1
- 2014-01-05 - updated for 3.4.0b2
- 2013-11-24 - clarify that the ActiveState website still refers to 8.5.15.0
- 2013-11-24 - removed built-in for 3.4.0b1, removed 3.3.2 and 2.7.5
- 2013-11-10 - ActiveTcl 8.5.15.1; removed built-in for 3.3.3rc2 and 2.7.6.
- 2013-10-27 - updated for 3.3.3rc1 and 2.7.6rc1 and their built-in 8.5.15.
- 2013-10-24 - updated for macOS 10.9 and ActiveTcl 8.5.15, removed 3.2.5.
- 2013-10-20 - updated for 3.4.0a4 and its built-in 8.5.15.
- 2013-09-29 - updated for 3.4.0a3
- 2013-09-09 - updated for 3.4.0a2 and its built-in 8.5.14.
- 2013-08-03 - updated for 3.4.0a1 and ActiveTcl 8.4.20
- 2013-05-18 - updated for ActiveTcl 8.5.14
- 2013-05-15 - updated for 3.3.2, 2.7.5, and 3.2.5
- 2013-04-06 - updated for 3.3.1, 2.7.4, and 3.2.4
- 2012-12-26 - updated for ActiveTcl 8.5.13 and Issue 15853 patch installer
- 2012-09-29 - updated for 3.3.0 final and reverted to ActiveTcl 8.5.11.1
- 2012-08-02 - updated for ActiveTcl 8.5.12
- 2012-07-28 - updated for macOS 10.8
- 2012-04-11 - updated for 3.2.3 final and 2.7.3 final
- 2012-03-18 - updated for 3.2.3rc2 and 2.7.3rc2
- 2012-03-04 - updated for ActiveTcl 8.5.11.1, 3.2.3rc1, 2.7.3rc1, removed 3.1.4
- 2011-11-12 - updated for ActiveTcl 8.5.11
- 2011-09-04 - updated for 3.2.2 final
- 2011-07-21 - updated for macOS 10.7 and ActiveTcl 8.5.10.1
- 2011-07-09 - updated for 3.2.1 final and ActiveTcl 8.5.10
- 2011-06-12 - updated for 2.7.2 final and 3.1.4 final
- 2011-05-30 - updated for 3.2.1rc, 2.7.2rc, and 3.1.4rc
- 2011-03-08 - add warnings and include details on how Python links with Tcl/Tk releases
- 2011-02-20 - updated for 3.2 final
- 2011-01-31 draft 1 - preliminary info for 3.2rc2
- 2011-01-14 draft 0
Working with Python in Visual Studio Code, using the Microsoft Python extension, is simple, fun, and productive. The extension makes VS Code an excellent Python editor, and works on any operating system with a variety of Python interpreters. It leverages all of VS Code's power to provide auto complete and IntelliSense, linting, debugging, and unit testing, along with the ability to easily switch between Python environments, including virtual and conda environments.
This article provides only an overview of the different capabilities of the Python extension for VS Code. For a walkthrough of editing, running, and debugging code, use the button below.
Install Python and the Python extension
The tutorial guides you through installing Python and using the extension. You must install a Python interpreter yourself separately from the extension. For a quick install, use Python 3.7 from python.org and install the extension from the VS Code Marketplace.
Once you have a version of Python installed, activate it using the Python: Select Interpreter command. If VS Code doesn't automatically locate the interpreter you're looking for, refer to Environments - Manually specify an interpreter.
You can configure the Python extension through settings. See the Settings reference.
Insiders program
The Insiders program allows you to try out and automatically install new versions of the Python extension prior to release, including new features and fixes.
If you'd like to opt into the program, you can either open the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) and select Python: Switch to Insiders Daily/Weekly Channel or else you can open settings (⌘, (Windows, Linux Ctrl+,)) and look for Python: Insiders Channel to set the channel to “daily” or “weekly”.
Run Python code
To experience Python, create a file (using the File Explorer) named
hello.py
and paste in the following code (assuming Python 3):The Python extension then provides shortcuts to run Python code in the currently selected interpreter (Python: Select Interpreter in the Command Palette):
- In the text editor: right-click anywhere in the editor and select Run Python File in Terminal. If invoked on a selection, only that selection is run.
- In Explorer: right-click a Python file and select Run Python File in Terminal.
You can also use the Terminal: Create New Integrated Terminal command to create a terminal in which VS Code automatically activates the currently selected interpreter. See Environments below. The Python: Start REPL activates a terminal with the currently selected interpreter and then runs the Python REPL.
For a more specific walkthrough on running code, see the tutorial.
Download Python For Mac Free
Autocomplete and IntelliSense
The Python extension supports code completion and IntelliSense using the currently selected interpreter. IntelliSense is a general term for a number of features, including intelligent code completion (in-context method and variable suggestions) across all your files and for built-in and third-party modules.
IntelliSense quickly shows methods, class members, and documentation as you type, and you can trigger completions at any time with ⌃Space (Windows, Linux Ctrl+Space). You can also hover over identifiers for more information about them.
Tip: Check out the IntelliCode extension for VS Code (preview). IntelliCode provides a set of AI-assisted capabilities for IntelliSense in Python, such as inferring the most relevant auto-completions based on the current code context.
Linting
Linting analyzes your Python code for potential errors, making it easy to navigate to and correct different problems.
The Python extension can apply a number of different linters including Pylint, pycodestyle, Flake8, mypy, pydocstyle, prospector, and pylama. See Linting.
Debugging
No more
print
statement debugging! Set breakpoints, inspect data, and use the debug console as you run your program step by step. Debug a number of different types of Python applications, including multi-threaded, web, and remote applications.For Python-specific details, including setting up your
launch.json
configuration and remote debugging, see Debugging. General VS Code debugging information is found in the debugging document. The Django and Flask tutorials also demonstrate debugging in the context of those web apps, including debugging Django page templates.Snippets
Snippets take productivity to the next level. You can configure your own snippets and use snippets provided by an extension. Snippets appear in the same way as code completion ⌃Space (Windows, Linux Ctrl+Space). For specific examples with Python, see the Django and Flask tutorials.
Environments
The Python extension automatically detects Python interpreters that are installed in standard locations. It also detects conda environments as well as virtual environments in the workspace folder. See Configuring Python environments. You can also use the
python.pythonPath
setting to point to an interpreter anywhere on your computer.The current environment is shown on the left side of the VS Code Status Bar:
The Status Bar also indicates if no interpreter is selected:
The selected environment is used for IntelliSense, auto-completions, linting, formatting, and any other language-related feature other than debugging. It is also activated when you use run Python in a terminal.
To change the current interpreter, which includes switching to conda or virtual environments, select the interpreter name on the Status Bar or use the Python: Select Interpreter command.
VS Code prompts you with a list of detected environments as well as any you've added manually to your user settings (see Configuring Python environments).
Installing packages
Packages are installed using the Terminal panel and commands like
pip install <package_name>
(Windows) and pip3 install <package_name>
(macOS/Linux). VS Code installs that package into your project along with its dependencies. Examples are given in the Python tutorial as well as the Django and Flask tutorials.Jupyter notebooks
If you open a Jupyter notebook file (
.ipynb
) in VS Code, you can use the Jupyter Notebook Editor to directly view, modify, and run code cells.You can also convert and open the notebook as a Python code file. The notebook's cells are delimited in the Python file with
#%%
comments, and the Python extension shows Run Cell or Run All Cells CodeLens. Selecting either CodeLens starts the Jupyter server and runs the cell(s) in the Python interactive window:Opening a notebook as a Python file allows you to use all of VS Code's debugging capabilities. You can then save the notebook file and open it again as a notebook in the Notebook Editor, Jupyter, or even upload it to a service like Azure Notebooks.
Using either method, Notebook Editor or a Python file, you can also connect to a remote Jupyter server for running the code. For more information, see Jupyter support.
Testing
![Python Python](/uploads/1/2/6/4/126452144/677572756.jpg)
The Python extension supports testing with the unittest, pytest, and nose test frameworks.
To run tests, you enable one of the frameworks in settings. Each framework also has specific settings, such as arguments that identify paths and patterns for test discovery.
Once discovered, VS Code provides a variety of commands (on the Status Bar, the Command Palette, and elsewhere) to run and debug tests, including the ability to run individual test files and individual methods.
Configuration
The Python extension provides a wide variety of settings for its various features. These are described on their relevant topics, such as Editing code, Linting, Debugging, and Testing. The complete list is found in the Settings reference.
Other popular Python extensions
The Microsoft Python extension provides all of the features described previously in this article. Additional Python language support can be added to VS Code by installing other popular Python extensions.
- Open the Extensions view (⇧⌘X (Windows, Linux Ctrl+Shift+X)).
- Filter the extension list by typing 'python'.
The extensions shown above are dynamically queried. Click on an extension tile above to read the description and reviews to decide which extension is best for you. See more in the Marketplace.
Next steps
- Python Hello World tutorial - Get started with Python in VS Code.
- Editing Python - Learn about auto-completion, formatting, and refactoring for Python.
- Basic Editing - Learn about the powerful VS Code editor.
- Code Navigation - Move quickly through your source code.
Download Python For Mac Latest Version
03/07/2019