Steven D'Aprano wrote: > On Thu, 3 Mar 2016 09:45 pm, crankypuss wrote: > >> Ben Finney wrote: >> >>> crankypuss <invalid@invalid.invalid> writes: >>> >>>> "Python code can be packaged into stand-alone executable programs >>>> for some of the most popular operating systems, allowing the >>>> distribution of Python-based software for use on those environments >>>> without requiring the installation of a Python interpreter." >>>> (wikipedia) >>>> >>>> How correct is that? Which "most popular operating systems" are >>>> those? >>> >>> Python's web site covers this. The Python environment is available >>> for download <URL:https://www.python.org/downloads/> for all major >>> operating systems. >> >> Looking at https://www.python.org/downloads/release/python-344/ >> it appears that "all major operating systems" includes "Mac OS X", >> "Windows", and "Source release". I'm seeing nothing about Android, >> or >> BlackBerry OS-10, or mainframes, or linux. Presumably the source >> code >> has been pre-built for linux in various distro repositories. Maybe >> I'm missing the obvious as usual. > > Yes, all the major Linux distros (Red Hat, Centos, Fedora, Debian, > Ubuntu, Mint, Suse, ...) will either install Python by default or at > least provide it through their official package management software. > > Likewise, FreeBSD and OpenBSD certainly have Python available. > > I doubt Blackberry has Python available, but that's hardly a major or > important platform.
I'd say its importance depends on what kind of phone you carry. <g> FWIW, "BlackBerry 10 is based on QNX, a Unix-like operating system that was originally developed by QNX Software Systems until the company was acquired by BlackBerry in April 2010." from https://en.wikipedia.org/wiki/BlackBerry_10 > For Android, the answer is mixed. I don't have an Android device to > try it on, but I'm told that it is possible to install Python on > Android, but it may be difficult. Probably the easiest way is to > install Kivy: > > https://kivy.org/ > > Kivy is a cross-platform Python development system that runs on OS X, > Linux, Windows, iOS (iPad, iPhone) and Android. > > For mainframes, the answer is maybe". If your mainframe supports the > C89 standard, it will probably work. If it can run x86 machine code, > or emulate it in a VM, that's probably the way to go. > > Some older versions of Python supported mainframes like VMS, but in > 2011, support for OS\2, VMS and Windows 2000 was dropped: > > http://blog.python.org/2011/05/python-33-to-drop-support-for-os2.html > > There is a Nokia project called PyS60 that runs Python on Nokia Series > 60 mobile phones. I don't know if it is still maintained. > > Classic Mac OS (System 9 and older) was supported in older Python > versions, but not the more recent ones. > > I don't think there has ever been a version of Python that ran on DOS > :-) It sounds as though Python will run on pretty much anything that's close to POSIX-compliant? >> Referring back to the wikipedia quote at the start of the post, I'm >> interested in how Python code is packaged into stand-alone >> executables. > > I'm only really familiar with the situation on Linux. That's where I'm from these days. > On Linux, you > usually wouldn't bother. Since Python is almost always already > installed on the system, and even if it is not, it's usually only a > single command away (like `yum install python`, say), there's very > little point in packaging your scripts or applications up in a > stand-alone exe file. Nice, with PHP it isn't so easy; not only is there often no PHP interpreter, to install one you have to fiddle with a config file. > Somewhat intermediate between stand-alone exe applications and a > directory full of scripts is to create a package, compress it into a > zip file, and run that zip file with the Python interpreter installed > on your system. Since it relies on there being an external Python > interpreter, it's not exactly stand-alone, but it may be close enough > for what you're doing. Reminds me of docker stuff. > Python packages are dead-simple: create a directory called "foo", and > put a file inside it called "__init__.py". It can even be an empty > file. That's a package. Obviously there is more to it than that, but > that's the basics. Okay, thanks. -- http://totally-portable-software.blogspot.com [Mon Feb 29: "Addresses - What Good Are They?"] -- https://mail.python.org/mailman/listinfo/python-list