SublimePythonIDE
ST3 only: A rewrite of SublimeRope for ST3, uses the Rope library to add python completions and refactoring to ST3
Details
Installs
- Total 101K
- Win 54K
- Mac 18K
- Linux 28K
Dec 21 | Dec 20 | Dec 19 | Dec 18 | Dec 17 | Dec 16 | Dec 15 | Dec 14 | Dec 13 | Dec 12 | Dec 11 | Dec 10 | Dec 9 | Dec 8 | Dec 7 | Dec 6 | Dec 5 | Dec 4 | Dec 3 | Dec 2 | Dec 1 | Nov 30 | Nov 29 | Nov 28 | Nov 27 | Nov 26 | Nov 25 | Nov 24 | Nov 23 | Nov 22 | Nov 21 | Nov 20 | Nov 19 | Nov 18 | Nov 17 | Nov 16 | Nov 15 | Nov 14 | Nov 13 | Nov 12 | Nov 11 | Nov 10 | Nov 9 | Nov 8 | Nov 7 | Nov 6 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 3 | 3 | 7 | 4 | 4 | 0 | 2 | 1 | 7 | 4 | 4 | 5 | 7 | 1 | 4 | 0 | 4 | 1 | 1 | 6 | 3 | 2 | 1 | 0 | 0 | 0 | 1 | 1 | 3 | 7 | 6 | 4 | 4 | 2 | 2 | 3 | 0 | 0 | 3 | 1 | 1 | 2 | 5 | 3 | 8 |
Mac | 1 | 0 | 1 | 2 | 0 | 0 | 2 | 1 | 2 | 2 | 1 | 0 | 1 | 0 | 0 | 0 | 2 | 1 | 0 | 2 | 0 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
Linux | 1 | 3 | 2 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 2 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |
Readme
- Source
- raw.githubusercontent.com
SublimePythonIDE
This plugin adds Python completions and some IDE-like functions to Sublime Text 3, through the use of the Rope library. It is a complete rewrite of SublimeRope for ST2. It should be a lot faster and easier to use than SublimeRope was.
In contrast to SublimeRope, it does use the built in Python only for UI-related functions, the completions and refactorings are calculated using the exact same python interpreter you use for your project (e.g. the one in your virtualenv). This eliminates a lot of small and big problems that SublimeRope had, e.g., not recognizing dict comprehensions because Python2.6 is used in ST2, or not recognizing some of your libraries because you did not configure all the paths etc.. Everything your projects interpreter sees, should be visible to SublimePython -> easier configuration.
I also added a lot caching throughout the underlying Rope library which improved completion performance by several orders of magnitude. I hope no functionality breaks because of this ;-)
Configuration
Python location
The only necessary configuration is pointing SublimePythonIDE at the correct Python interpreter to use. There are four mechanisms for detecting Python that are used in the following order:
- Checking the option “python_interpreter” in project settings (see below)
- Auto-detecting a virtual environment (in “venv” or $WORKON_HOME for virtualenvwrapper)
- Reading a #! (shebang) line in the active file
- Auto-detecting the system Python from $PATH
The option “python_interpreter” can be set in the projects settings (Project->Edit Project). Example:
{
"folders": [
{
"path": "XYZ"
},
{
"path": "ABC"
}
],
"settings": {
"python_interpreter": "/path/to/some/virtualenv/bin/python"
}
}
This is also the way to select a virtualenv (point it to the interpreter in the venv) and thus get the completions/definitions for you project working.
To suppress the “Could not find Python dialog”, save the following setting:
"suppress_python_not_found_error": false,
Imports location
SublimePythonIDE will also look up imports relative to the project root directory (the top directory of your project).
In cases where the project directory is outside of your root python module, you may optionally set a custom source root directory in the project settings:
{
"folders": [
{
"path": "XYZ"
},
],
"settings": {
"src_root": "XYZ/THE_ACTUAL_SRC"
"python_interpreter": "/path/to/some/virtualenv/bin/python",
}
}
See Packages/SublimePythonIDE/SublimePython.sublime-settings for other options. As with all ST packages, copy this file into your Packages/User folder and editing the copy there.
Copyright © 2013 Julian Eberius
License:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Have a look at “LICENSE.txt” file for more information.
EXTERNAL LICENSES
This project uses code from other open source projects (Rope) which may include licenses of their own.