[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 Nov 21 14:35:37 UTC 2011


Issue #3236 has been updated by Peter Cock.

Assignee set to Biopython Dev Mailing List

We'd got most things working or skipped gracefully under PyPy 1.6 and we're in almost the same situation for PyPy 1.7

I just fixed a break under PyPy 1.7 where we assumed set order,
https://github.com/biopython/biopython/commit/d6a3fce2d03d6e613600abec4d837c8c7b929f6f

>From test_Entrez.py under PyPy 1.6 we hit https://bugs.pypy.org/issue914 which is fixed in PyPy 1.7 but I'm now hitting https://bugs.pypy.org/issue933 instead.

Note that "import numpy" has been replaced with "import numpypy" in PyPy 1.7, so if we may decide not to support PyPy 1.6 that hassle goes away.

Still issues with test_Pathway.py, test_Restriction.py (and also test_CAPS.py) and a whole load of "Too many open files" - probably due to leaking handles and different garbage collection.
----------------------------------------
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