torressa / cspy

A collection of algorithms for the (Resource) Constrained Shortest Path problem in Python / C++ / C#
https://torressa.github.io/cspy/
MIT License
77 stars 24 forks source link

macosx wheels for python3.6-3.8 missing #61

Closed mao006006 closed 3 years ago

mao006006 commented 3 years ago

Describe the bug I pip to install the 1.0.0-alpha version of cspy. It shows the installation is successful. But when I import cspy, I receive this:

ImportError: cannot import name '_pyBiDirectionalCpp' from 'cspy.algorithms'

Running on Mac with Python 3.8. Please let me know what do I need to do? Thank you!

torressa commented 3 years ago

Hi @mao006006 thanks for the bug! That's my bad, I need to upload the macosx + windows wheels to pypi. I'm working on it so I'll let you know!

mao006006 commented 3 years ago

Thank you so much!

torressa commented 3 years ago

Added python3.9 wheel if you could test it that'd be great! There should be a wheel for 3.6-3.9 but can't seem to get github workflow to pickup the correct version from the matrix automatically... :thinking:

mao006006 commented 3 years ago

I just use python3 -m pip uninstall cspy'' to uninstall the previous installation. Then, usepython3 -m pip install cspy==1.0.0-alpha'' again. I still receive this: ImportError: cannot import name '_pyBiDirectionalCpp' from 'cspy.algorithms'

Do I have to upgrade to python3.9 for it? Running on 3.8 now. Again, thank you for looking into this!

torressa commented 3 years ago

Yes could you try and upgrade to python3.9? There seems to be an issue with the python path https://github.com/actions/setup-python/issues/132 Will see if I can find a workaround

mao006006 commented 3 years ago

Hi David,

Yes, it works now!! Thank you so much!

Best,

mao006006 commented 3 years ago

Hi David,

Found another problem...

It seems the BiDirectional algorithm returns different solutions in 1.0.0 compared to the ones obtained in 0.1.2. Most likely, the one in 1.0.0 is not correct. I am a little confused here. The codes are the same. I only changed cspy from 0.1.2 to 1.0.0.

torressa commented 3 years ago

No worries, this is good! Not sure without seeing the specific case. But a few things have changed (see latest api)

If the above don't help, I need more info, maybe a minimal example to reproduce the error and find out what's wrong

mao006006 commented 3 years ago

Hi David,

Thank you again for your help! I add elementary=True. It solves the conflicts! Now, it works perfectly.

Thank you for developing this beautiful package! With the 1.0.0 release, it really makes the day and night difference. Will definitely use it in my research and will cite your paper!

torressa commented 3 years ago

Glad to hear that! Thanks :) Good luck with your research!

torressa commented 3 years ago

Fixed, see for a CMake + setup-python explanation https://github.com/actions/setup-python/issues/132#issuecomment-762677436

mao006006 commented 3 years ago

Hi David,

I wonder if you ever consider to switch the graph package from Networkx to graph-tool or igraph? Based on my personal experience and this article: https://www.timlrx.com/blog/benchmark-of-popular-graph-network-packages-v2 , either one of graph-tool and igraph can be hundred times faster than Networkx. It can significantly improve the algorithms in CSPY.

Just a thought to speak out loud since I noticed that you have several issues on enhancing the performance. If it is built on Networkx, it is going to be very hard to do so.

From: David Torres notifications@github.com Date: Tuesday, January 19, 2021 at 1:19 AM To: torressa/cspy cspy@noreply.github.com Cc: mao006006 barryzhangr@gmail.com, Mention mention@noreply.github.com Subject: Re: [torressa/cspy] macosx wheels for python3.6-3.8 missing (#61)

Closed #61https://github.com/torressa/cspy/issues/61.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/torressa/cspy/issues/61#event-4221254109, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEFNOTFBDEJRV3WWPCRBOVDS2U6A3ANCNFSM4WGVKWTQ.

torressa commented 3 years ago

Hmm.. Never really thought of that but it's a really good shout Will have a look into it. Maybe also have to provide an internal conversion (networkx -> other) in case people are not happy with the change.

Just opened a new discussion #63

mao006006 commented 3 years ago

For my own projects, just switching from Netwrokx to graph-tool makes the thing 70 to 120 times faster. Even if the graphs needs to be convert from Netwrokx graphs to graph-tool graphs, the conversion itself won’t take too much time. Then, the benefit from graph-tool can be tremendous!

From: David Torres notifications@github.com Date: Wednesday, January 20, 2021 at 10:02 AM To: torressa/cspy cspy@noreply.github.com Cc: mao006006 barryzhangr@gmail.com, Mention mention@noreply.github.com Subject: Re: [torressa/cspy] macosx wheels for python3.6-3.8 missing (#61)

Hmm.. Never really thought of that but it's a really good shout Will have a look into it. Maybe also have to provide an internal conversion (networkx -> other) in case people are not happy with the change.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/torressa/cspy/issues/61#issuecomment-763789056, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEFNOTHSFBYSOBQ3TODYY7DS24ECVANCNFSM4WGVKWTQ.