larsmans / seqlearn

Sequence learning toolkit for Python
http://larsmans.github.io/seqlearn/
MIT License
688 stars 102 forks source link

Python 3 support and testing improvements #13

Closed kmike closed 9 years ago

kmike commented 10 years ago

TODO:

kmike commented 10 years ago

Tests pass for me locally using tox, but on Travis it fails with the same error as described here: https://github.com/conda/conda/issues/444

asmeurer commented 10 years ago

Do you also use Linux locally?

kmike commented 10 years ago

No, locally it is OS X.

asmeurer commented 10 years ago

Yes, I think this error is specific to Linux.

larsmans commented 10 years ago

Thx, will have a look over the weekend.

kmike commented 10 years ago

The problem with tests was that when nosetests command run from the repo root, tests import seqlearn from the checkout instead of using installed seqlearn, and this failed because checkout doesn't have the extensions built.

Most likely tox tests will fail on linux with the current implementation.

I haven't checked Python 3 compatibility in great details; in this PR changes are made to make tests pass.

larsmans commented 10 years ago

I finally had some time to look at this and I can't get it to work on my Linux box. I don't like maintaining stuff that I can't even run :(

kmike commented 10 years ago

What about dropping tox.ini?

kmike commented 10 years ago

or just making tox use pip - it will be slow, but it would work

kmike commented 10 years ago

install-deps.py hack is not needed for travis, so it can also be dropped

larsmans commented 10 years ago

I've cherry-picked a7cc35efbfd627276026f97564c5c4a5b7e4d121 into master, without Travis tests. Maybe we should try installing NumPy and SciPy with wheels instead? I haven't toyed with those yet, but they look promising.

kmike commented 10 years ago

There are no official wheels for numpy and scipy for major OSes, so we'd need to find a provider or build them ourselves (and put somewhere?). Conda already provides binary packages for all OSes, and they are maintained, that's why conda is used in this PR, and that's why I tried to get it work with tox (without too much success, only OS X works so far). This was my first experience with conda. I'd prefer to use wheels, but I haven't found a straightforward way to do that (that said, I haven't tried too hard).