I just started using Sublime Text 2 and was wondering, to sort of make it a full featured python IDE, if there was a way to change the integrated python interpreter to target the system python install rather than the one that came with Sublime. The reason is because I would like to use my python libraries that I have on my computer with the python interpreter.
I am aware of running python code in sublime using my version of python as explicitly shown here: How do I run Python code from Sublime Text 2?
However, this does not change the version of the python interpreter that you are running.
Any ideas?
Tools > Build System > New Build System. Insert the file and with your python version:
{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
According to the documentation referenced by the Sublime Text website itself, the embedded Python intrepreter is not intended for general development. This restricted usage recommendation even applies to ST2 for OS X, which is the only version that does use the system's Python version. So it's probably better to use the Build System workflow, or use a ST plug-in. Or switch to a purpose-built IDE.
Related
I would like to use Xcode under Mac OS X to compile and run a program written in a language that is not supported, e.g. Fortran. Assuming I have a compiler installed, e.g. gfortran or ifort, what are the steps in the Xcode project settings to make it possible to compile and run the program?
I have created an new, empty project since Fortran is not supported (only C,C++,Objective-C and Swift are selectable in a command line tool application). I created a simple Fortran file. But now I guess I have to add several things to the Builds tab in the project settings to make it compile and run (it works from the command line). What are these steps?
Add an external build system target to your project. External build system targets/projects let you build projects in languages Xcode doesn't natively support. The external build system target/project is in the Other section under OS X on the left side of the assistant. When you click the Next button, you'll be asked for the location of the build tool. Enter the path to your Fortran compiler. When you build the project, Xcode will use the Fortran compiler to do the building.
I'm a brand new coder trying to wean myself off of the Codecademy web environment. I'm using Sublime Text 3 in tandem with Sublime Linter 3 in order to approximate the real-time error-checking to which I've become accustomed from Codecademy's site.
I know that each linter needs to be installed separately in ST3 and I've successfully integrated "csslint" and "jshint". Both work properly.
Now, I'm trying to get an html linter to error-check my html code and I can only seem to find "HTML Tidy", which I have installed via package control. Unlike the aforementioned linters, which simply require a pre-defined command line string for input at terminal, online tutorials have me installing "HTML tidy" via a winrar executable.
Now I am regrouping and would greatly appreciate any feedback you can provide that might move me incrementally closer to having a working HTML linter. I am using a windows xp computer. Many kind thanks for your help.
According to the Installation Instructions for the plugin, there is a Windows binary for Tidy available here.
For some background, Tidy is a command line tool that comes pre-installed with Mac and Linux but not Windows. Downloading the binary mentioned here and placing it in your path will allow it to be run. To check where it should be placed, run echo %path% from the command line.
Once that is there it will work. To see the available arguments to be run with Tidy, run tidy -help from the command line. These arguments can be added to "args" linter settings.
Just copy tiny.exe to folder C:\Windows\System32\, and restart ST3.
I really love Sublime Text 2 and I want to use it for Software programming.
The problem is that our source files are stored on a Linux server and we all work using PuTTy to connect and Vim to edit the code. We can compile the source by executing a command in PuTTy.
I want to use Sublime Text 2 for coding (the folders in Linux are mounted on our Windows system so the files can be opened in Windows). But whenever I want to compile, I have to open PuTTy and compile manually which asks a lot of time. Can I automate this somehow? Like if I push a button (F8 for example) then PuTTy opens, connects to the Linux server with SSH goes to the correct folder and compiles the source file. Is this possible?
Thanks for any help!
Sublime Build Systems can be used to launch a process like this.
I'm not sure if you can automate anything using putty. But the fork named ExtraPutty allows this: it is scriptable using Lua, an you can launch a script from command line.
If you arefamiliar with Javascript, another alternative would be to use Grunt + a module like SSH2 to automate you compilation process, then launch it from a Sublime build system. The ssh module does not allow interactive commands to be scripted, so I recommend you to use SSH2.
There are many other options; pick the one with which you're the more confortable, then use Sublime Build system to launch it.
The Sublime text 2.0.1 (Mac OSX) build command ignores the shebang line a the top of my python file.
The shebang line has the full path to my python 3.2 installation :
#!/usr/local/bin/python3
However the python version being used is always 2.7.2. I'm maintaining code for both 2.7 and 3.2 and so must rely on the shebang line to be used.
Is there a way to configure the Sublime text 2 build system to look at the shebang?
Sublime does not use the shebang to determine the execution, it uses your build rule. You could customize the Python build rule to add variants for python2 and python3.
Official instructions for adding build variants.
Simplified example of build variants from another SO question.
Note that with build variants, the default is run by Command+B (Mac) or Control+B (Windows and Linux). The second variant can be run Command+Shift+B (Mac) or Control+Shift+B (Windows and Linux).
Have a look at Sublime Text Shebang plugin.
It adds a few commands that allow to run scripts, based on the shebang line, but the output will be placed on a new buffer, not in the console.
I created some python hooks for Mercurial that use some external libraries (namely jira-python). In Linux, I install the packages using pip. In Windows, however, Mercurial comes with a bundled version of Python. My hooks fail when I run them because the external packages are not installed.
I want to make Mercurial / TortoiseHG use my Python installation so I can control its environment. How can I do that?
You can install Mercurial package for Python:
Mercurial 2.4 Python 2.7 package - x86 Windows
Mercurial 2.4 Python 2.7 package - x64 Windows
For TortoiseHG-specific details I can suggest to inspect %TortoiseHg%\library.zip - it contains (some? all?) needed for TortoiseHG|Mercurial Python's modules, which list you can (try) to extend: "in Where is the Python path for TortoiseHG?" topic Steve Borho wrote:
TortoiseHg's entire python environment is contained within the library.zip that comes packaged
with it.
What I suspect you can do is add a line or two to the top of your reviewboard extension file to add your installed python path to sys.path before trying to import simplejson
Hint for adding python path to sys.path is applicable for you too
Recommendation from Convert Extension page
you'll need to use a Mercurial installed on top of a stand-alone Python, and you may also need to do something like
set HG=python c:\Python25\Scripts\hg
to override the default Win32 binaries if you have those installed also
I have Mercurial installed through pip, and I also have TortoiseHg. My system path selects the Python version first.
I renamed C:\Program Files\TortoiseHg\hg.exe to something else, and then ran TortoiseHg. Everything still worked, but I haven't got a good way of verifying it does what you want. You can give it a shot.