[Biopython-dev] Green light for Biopython on PyPy 1.9 on BuildBot

Peter Cock p.j.a.cock at googlemail.com
Fri Jun 8 16:48:21 UTC 2012


On Fri, Jun 8, 2012 at 5:07 PM, Peter Cock <p.j.a.cock at googlemail.com> wrote:
> On Fri, Jun 8, 2012 at 3:50 PM, Peter Cock <p.j.a.cock at googlemail.com> wrote:
>> Hi all,
>>
>> PyPy 1.9 was released today:
>> http://morepypy.blogspot.co.uk/2012/06/pypy-19-yard-wolf.html
>>
>> The good news is that it installed simply on my Mac, and we
>> now have a clean set of unit test results - an improvement on
>> PyPy 1.8 were there was some kind of handle leak. I have now
>> added this as a buildbot target for nightly testing:
>>
>> http://testing.open-bio.org/biopython/grid (portrait)
>> http://testing.open-bio.org/biopython/tgrid (landscape)
>>
>> The bad news is the PyPy 1.9 binary wouldn't run on my Linux
>> buildslave due to a GLIBC version difference, so we don't yet
>> have a PyPy buildslave under Linux.
>>
>> I will try this under Windows next...
>
> Not such good news. There are failures related to file handles, e.g.
>
> C:\repositories\biopython\Tests>c:\pypy-1.9\pypy.exe test_BioSQL.py
> Traceback (most recent call last):
>  File "app_main.py", line 51, in run_toplevel
>  File "test_BioSQL.py", line 705, in <module>
>    create_database()
>  File "test_BioSQL.py", line 96, in create_database
>    os.remove(TESTDB)
> WindowsError: [Error 32] The process cannot access the file because it is being
> used by another process.: C:\repositories\biopython\Tests\BioSQL\temp_sqlite.db
>
> This is likely down to slow handle release meaning the OS
> won't let us delete open files (Windows specific - you can
> do this on Linux and Unix fine).

Solved nicely for BioSQL:
https://github.com/biopython/biopython/commit/1027ba1eba9164607208a3e90c035510584249d4

And less nicely for SeqIO's index_db - even putting the close
in the __del__ won't work (without perhaps a gc.collect() before
trying to delete the index database):
https://github.com/biopython/biopython/commit/20591a348415295cbda05e400daa024fa5c8c701

Once this is on the BuildBot, that leaves Linux - and then looking into
how far PyPy's NumPy emulator NumPyPy has come, and how things
look for our C extensions (currently we disable them under PyPy).

If anyone has a Linux server available capable of running PyPy 1.9
'out of the box', more buildslaves would be welcome.

Peter




More information about the Biopython-dev mailing list