Skip to content.

logo Stackless Python

Personal tools


last edited 5 years ago by rmtew

How compatible is using Stackless instead of regular Python?

It is possible to use Stackless in place of regular Python. Stackless should be 100% compatible with Python code previously written against regular Python, and also with any extensions previously compiled against regular Python.

There are some exceptions however..
  • Not all extensions are implemented in a friendly manner, and because of this may be unstable or unusable when combined with Stackless Python. One example of this, is PyQT, which is based on an unfriendly package named SIP. Read this thread for further information.
  • The greenlet extension module was extracted from Stackless Python, and provides a portion of the functionality that Stackless does. Because of this, using it with Stackless is an odd choice, and will not be supported in any way by the Stackless developers.

What's involved in installing Stackless alongside regular Python?

For Windows:

It depends on whether you are using the installers or not.

If you are, then you are limited to having one installation for each version of Python (one installation of 2.6, one installation of 3.1, etc..). You can download and install a version of regular Python, but you cannot install it a second time. The reason for this, is that an installation for a given version of Python puts a range of unique elements in place. From registry keys, to specifically named DLLs under the Windows operating system directory. Stackless Python, in order to behave compatibly, needs to use the same DLL names. If an installation of regular Python 2.6 has its python26.dll in place, then there is no way for Stackless to have its python26.dll as a file of exactly the same name.

Otherwise you always have the option of having regular Python of a given version installed, and compiling Stackless yourself. You can then leave Stackless Python where you have compiled it, and invoke it there when you have a need to do so.

For Unix-like systems:

It depends on the unique and special ways in which your particlar variant chooses to behave.

By default, when you compile and install Stackless, it will install into /usr/local with its executable also named python. Your distribution provided regular Python installation, is most likely installed in /usr, and the Stackless Python executable will override its existing executable. The recommended approach is to rename the Stackless Python executable to spython, so that you can explicitly run it, but still have regular Python available as python as it was before you installed Stackless.

There are two wikis.. WTF?

Yes, there are. This is because of historical reasons, when we have replaced this Zope based wiki with something like Trac we may merge the examples wiki into this one. For now example code intended for direct use and examination by users should go into the examples SVN repository and described in its wiki. This wiki better suits having example code and snippets for the purposes illustrating the documentation which is provided here .

Where do i find more tutorials and resources?

You can visit this page for more tutorials and resources on stackless python.


Powered by Plone