-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Phase processing in python3 #389
Comments
Agree completely @swnesbitt . The lack of a Python 3 compatible LP library is what is holding me back from changing my default Python environment to Python 3. I do not want to change until all of Py-ART unit tests run in Python 3.4 and none are skipped. The CyLP folks do have an open issue coin-or/CyLP#15 on Python 3.4 support. The ecyglpk package might be worth a look for a more modern Python interface to GLPK. Not sure if it supports Python 3. |
If anyone wants to put some work into this it would have a great impact On 10/1/15 10:09 AM, Jonathan J. Helmus wrote:
|
I was able port enough of CyLP to Python 3 to allow the unit tests in CyLP and Py-ART to pass. I'm not going to provide link to the branches since they are a mess and need to be cleaned up before submitting and PR to CyLP. What is the issue with CyLP not support recent version of Cbc, @swnesbitt? I am still using 2.8.8 and have not tried the 2.9.x release. |
Pull request submitted to CyLP to add support for Python 3 coin-or/CyLP#28. Minor modification are needed for Py-ART's phase processing to work with CyLP in Python 3. Changes submitted as #392. I've been testing with CBC 2.8.8 without issue. I have a conda package for the library build for OS X and Linux 64. |
I found a fork of pyglpk which supports newer versions of the GLPK library and in the v0.4-dev branch supports Python 3! Using this and CyLP with my PR applied I was able to get all the Py-ART unit tests to pass in Python 3.5 on my Linux machine. I believe the same should be possible on OS X. The tests emit a few warnings including #478 which I want to clean up. I'll work on creating conda packages of the various phase processing modules to make this more robust and reproducible. |
Fantastic! Jonathan J. Helmus wrote:
|
@jjhelmus Would you please make a pyglpk/cylp package which could be easily installed on OSX and linux for python 3 on anaconda cloud? That'll help a lot for us to move to python3. Thank you! |
I found cvxopt/cvxopt_glpk packages https://anaconda.org/omnia/cvxopt and https://anaconda.org/mlgill/cvxopt_glpk which seem working well in my OSX. The accuracy of the results is still under test. By the way, linprog has been added to scipy since 0.15, which would benefit the portability of pyart. |
Very interesting! Will definitely need to check out linprog Dr Scott Collis
|
I'm been working on this but creating portable packages for pyglpk, cylp and cvxopt with glpk support is turning out to be more of a challenge that I had expected. Part of this is that there is not releases of cylp and PyGLPK which supports Python 3 so I need to build against a fork. The other difficulty is that cvxopt and cylp both require linking to BLAS/LAPACK which is a bit difficult to do in conda in a portable manner. I'll keep working on these but it may take a bit. |
So @jjhelmus 's PR is still languishing over at CyLP I stumbled on this: |
The python 3 branch was merged into CyLP master, closing. |
I have been slowly upgrading to python 3 and ran into snag central doing phase processing with PyART. AFAIK, cylp is not compatible with python 3, and neither is PyGLPK (last updated last decade). I am currently dealing with the pain of installing CVXOPT on OS X (BLAS/LAPACK) using homebrew. It would be really nice if cylp could be upgraded to python 3 (and support more recent versions of cbc). Any other packages on the horizon now that could allow for simpler installation and python3 compatibility?
The text was updated successfully, but these errors were encountered: