First install the required libraries and get stackless itself:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo run apt-get update | |
sudo apt-get install libreadline-dev | |
sudo apt-get build-dep python2.7 | |
cd /tmp | |
wget http://www.stackless.com/binaries/stackless-272-export.tar.bz2 | |
bunzip2 stackless-272-export.tar.bz2 | |
tar xf stackless-272-export.tar |
Now install stackless :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cd /tmp/stackless-272-export/ | |
./configure --prefix=/opt/stackless --enable-unicode=ucs4 | |
make | |
sudo make install |
After the "make" you'll see some failures as below. Just ignore them.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Python build finished, but the necessary bits to build these modules were not found: | |
_bsddb bsddb185 dl | |
imageop linuxaudiodev ossaudiodev | |
sunaudiodev | |
To find the necessary bits, look in setup.py in detect_modules() for the module's name. | |
Failed to build these modules: | |
_curses _curses_panel |
Now it's time to link your standard (CPython) packages so that they can be used with stackless:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo ln -s /usr/lib/python2.7/dist-packages/ /opt/stackless/lib/python2.7/site-packages | |
sudo ln -s /usr/local/lib/python2.7/dist-packages/ /opt/stackless/lib/python2.7/dist-packages | |
sudo ln -s /opt/stackless/bin/python /usr/bin/stackless | |
sudo vi /opt/stackless/lib/python2.7/site.py |
...and edit the paths in the site.py file. At about line 300, edit the file to look like this. It's the second sitepackages.append bit we're adding here:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
elif os.sep == '/': | |
sitepackages.append(os.path.join(prefix, "lib", | |
"python" + sys.version[:3], | |
"site-packages")) | |
sitepackages.append(os.path.join(prefix, "lib", | |
"python" + sys.version[:3], | |
"dist-packages")) | |
sitepackages.append(os.path.join(prefix, "lib", "site-python")) |
That should be it! Let's test it:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$stackless | |
Python 2.7.2 Stackless 3.1b3 060516 (default, Jan 2 2013, 22:39:14) | |
[GCC 4.6.3] on linux3 | |
Type "help", "copyright", "credits" or "license" for more information. | |
>>> exit() |
Very helpful, thanks!!!
ReplyDelete