It’s sort of unclear what you’re asking here. Python files that are in packages are
plugin resource files, not arbitrary user scripts.
A way of thinking of this is that Sublime has a Python interpreter built in, but:
If you thought that installing Sublime was all of the tools that you needed in order to create plugin commands and packages for Sublime Text, this is indeed the case.
If you thought that because you installed Sublime, you can now run Python programs, you cannot; you need to install Python to do so (if it isn’t already installed).
With that in mind:
This is possible; Sublime has an internal
exec command for doing this. It’s the command that is used to execute a build. So for example if you make sure that
Tools > Build System is set to
Python, you can open a Python script, select
Tools > Build (or the associated key, see the menu), and Sublime will run your program externally.
To execute a program in response to a key binding, you would need to use the
exec command directly in the key binding. For example:
"shell_cmd": "python /home/tmartin/test.py",
The same command could also be applied to a menu item as well, if desired.
Note that console programs run by the
exec command (so either this way or by the build process) will display their output in the output panel in Sublime but you can’t interact with them. If you run a program that needs to be interacted with, when it reaches a point where it’s waiting for you to enter text it will be effectively hung.
To run such a program you need to make the command that you
exec also open a new console window and then execute the program inside of that terminal.
This is true, but it doesn’t really relate to the previous sentence. In this context, a command is something that you would define to add new functionality to Sublime. In theory you could create a plugin command to run your program, but as just mentioned Sublime already provides an
exec command for doing this, so this is not really needed.
I covered this in your other thread, so verbose though I may be, I won’t put you through having to read it again.
Sublime’s API is only available to the Python code that it loads from plugins in packages; Python scripts in general (wether you run them from Sublime or not) don’t have access to it because the interpreter in Sublime isn’t used to run external programs.
You shouldn’t put any non-plugin Python files in your package unless you intended them to be a part of your package. Generally that means that unless you’re including support code for a plugin that you’re writing, you don’t want to put those sorts of files there.