Sublime Run Python 3
Writing consistent, well-formed code is important. Of course the functionality of the code is paramount, yet in addition the styling and structure should follow a commonly accepted standards. Not only will it make the code more approachable to others, but also to yourself, when you return to an old piece of software, which you have not looked at for months or even years. You might even squash some bugs early on, by writing code in consistent manner. The process of styling and checking of these code qualities, is often referred as linting.
Save the file as Packages/User/Python3.sublime-build, where Packages is the folder opened by selecting Preferences - Browse Packages. Sublime should already automatically save it in the right directory. Now, there will be a Tools - Build System - Python3 option that you can select for running files with Python 3. Menu Three steps to lint Python 3.6 in Sublime Text January 22, 2017 on python, sublime text, development, linting. Writing consistent, well-formed code is important. Of course the functionality of the code is paramount, yet in addition the styling and structure should follow a commonly accepted standards. But Sublime uses path /usr/bin/python when building python source. I strongly suggest you to roll back the alias definition. Now to build your code using python3, you can either install python-is-python3 package which is available on 20.04 and higher to invoke python3 using python or create a new build system and set that build system as default.
Here's one take on the matter, how to lint live on the text editor, as we type.
Prerequisites
Some prerequisites, to give us a starting point.
- We are running macOS 10.10+. At the time of writing, I am running
macOS Sierra 10.12.2
. - We have Sublime Text installed. At the time of writing, I am running
ST 3 Dev, build 3125
. - we have Python 3.6 installed. At the time of writing, I am running
Python 3.6.0
installed with Homebrew.
Step One: Install Flake8
To beging linting, we obviously need a linter installed. We are going to install Flake8, which installs pycodestyle aka PEP8 (code style checks), Pyflakes (lint checks) and McCabe (complexity checks).
Note, that the Python version is the key here; If we install Flake8 to a Python version earlier than 3.6, the linting for 3.6 features will not work.
We will install the package to system level, and we are going to do that with the mighty pip
To check, that the linter installed correctly, run the which
command, which should return the path to the executable:
At the time of writing, the versions are as follows:
Now, that we have a working linter, let's run it against some poorly crafted code, like this:
And with this we have confirmed, that we cannot code, but our linter is working, so we know what we are doing wrong, and can improve!
Step Two: Install SublimeLinter and Flake8 plugin
First we need to install SublimeLinter to Sublime Text. Do pay attention to version! Since we are running ST3, we are going to install SublimeLinter 3.
The installation should be done with ST's Package Control
. Find the package SublimeLinter
, and install it.
After that sorted, let's continue and install the Flake8 plugin on top of that. Same as before, we do it with Package Control. This time find a package SublimeLinter-flake8
and install it.
Sublime Run Python
We can configure the Flake8 to our liking, with settings in SublimeLinter.sublime-settings
. A very basic configuration might be as follows:
Just to make sure Sublime Text does not begin to act up, let's restart it.
Step Three: Keep on coding
After the previous steps completed, we can see the linting errors and warnings right in Sublime Text and update live as we code.
Now is the time to fix that hideous code, we have been working on. Happy linting!
Further reading
Writing consistent, well-formed code is important. Of course the functionality of the code is paramount, yet in addition the styling and structure should follow a commonly accepted standards. Not only will it make the code more approachable to others, but also to yourself, when you return to an old piece of software, which you have not looked at for months or even years. You might even squash some bugs early on, by writing code in consistent manner. The process of styling and checking of these code qualities, is often referred as linting.
Here's one take on the matter, how to lint live on the text editor, as we type.
Prerequisites
Some prerequisites, to give us a starting point.
- We are running macOS 10.10+. At the time of writing, I am running
macOS Sierra 10.12.2
. - We have Sublime Text installed. At the time of writing, I am running
ST 3 Dev, build 3125
. - we have Python 3.6 installed. At the time of writing, I am running
Python 3.6.0
installed with Homebrew.
Step One: Install Flake8
To beging linting, we obviously need a linter installed. We are going to install Flake8, which installs pycodestyle aka PEP8 (code style checks), Pyflakes (lint checks) and McCabe (complexity checks).
Note, that the Python version is the key here; If we install Flake8 to a Python version earlier than 3.6, the linting for 3.6 features will not work.
We will install the package to system level, and we are going to do that with the mighty pip
To check, that the linter installed correctly, run the which
command, which should return the path to the executable:
At the time of writing, the versions are as follows:
Now, that we have a working linter, let's run it against some poorly crafted code, like this:
And with this we have confirmed, that we cannot code, but our linter is working, so we know what we are doing wrong, and can improve!
Step Two: Install SublimeLinter and Flake8 plugin
First we need to install SublimeLinter to Sublime Text. Do pay attention to version! Since we are running ST3, we are going to install SublimeLinter 3.
Use Sublime Text With Python
The installation should be done with ST's Package Control
. Find the package SublimeLinter
, and install it.
After that sorted, let's continue and install the Flake8 plugin on top of that. Same as before, we do it with Package Control. This time find a package SublimeLinter-flake8
and install it.
We can configure the Flake8 to our liking, with settings in SublimeLinter.sublime-settings
. A very basic configuration might be as follows:
Just to make sure Sublime Text does not begin to act up, let's restart it.
Python In Sublime Text 3
Step Three: Keep on coding
After the previous steps completed, we can see the linting errors and warnings right in Sublime Text and update live as we code.
Now is the time to fix that hideous code, we have been working on. Happy linting!