[Biopython-dev] [Biopython - Feature #3236] Make Biopython work in PyPy 1.5

redmine at redmine.open-bio.org redmine at redmine.open-bio.org
Mon Dec 5 12:33:55 EST 2011


Issue #3236 has been updated by Peter Cock.


I have found and fixed a few handle leaks, which means as of https://github.com/biopython/biopython/commit/65da2fe99d923c5a69a6bfa2ed3b3375496d4826 there are now no ResourceWarning messages from Python 3.2 using:

python3 -W all test_SeqIO_index.py

However, despite that, running that test alone still fails on Mac OS X under PyPy (1.6 and) 1.7 with IOError: [Errno 24] Too many open files: ...

See also https://bugs.pypy.org/issue828 which may possibly be related.
----------------------------------------
Feature #3236: Make Biopython work in PyPy 1.5
https://redmine.open-bio.org/issues/3236

Author: Eric Talevich
Status: In Progress
Priority: Low
Assignee: Biopython Dev Mailing List
Category: 
Target version: 
URL: 


PyPy is now roughly as production-ready as Jython:
http://morepypy.blogspot.com/2011/04/pypy-15-released-catching-up.html

Let's make Biopython work on PyPy 1.5.

To make the pure-Python core of Biopython work, I did this:

* Download and unpack the pre-compiled Linux tarball from pypy.org
* Copy the header file @marshal.h@ from the CPython 2.X installation into the @pypy-c-.../include/@ directory
* pypy setup.py build; pypy setup.py install
* Delete pypy-c-.../site-packages/Bio/cpairwise2*.so

Benchmarking a script that leans heavily on Bio.pairwise2, I see about a 2x speedup between Pypy 1.5 and CPython 2.6 -- yes, that's with the compiled C extension @cpairwise2@ in the CPython 2.6 installation.

Numpy isn't available on PyPy yet, and it may be some time before it does.

Observations from @pypy setup.py test@:

* test_BioSQL triggers tons of RuntimeWarnings related to sqlite3 functions
* test_BioSQL_SeqIO fails -- attempts to retrieve P01892 instead of Q29899 (?)
* test_Restriction triggers a TypeError, somehow (also causing test_CAPS to err)
* test_Entrez fails with many noisy errors -- looks related to expat, may be just my installation
* importing @Bio.trie@ fails, probably due to a @marshal.h@ issue with compilation



-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here and login: http://redmine.open-bio.org



More information about the Biopython-dev mailing list