spine-tools / Spine-Toolbox

Spine Toolbox is an open source Python package to manage data, scenarios and workflows for modelling and simulation. You can have your local workflow, but work as a team through version control and SQL databases.
https://www.tools-for-energy-system-modelling.org/
GNU Lesser General Public License v3.0
67 stars 17 forks source link

cx_Freeze build crashes on missing `asyncio.compat` module #351

Closed spine-o-bot closed 3 years ago

spine-o-bot commented 3 years ago

In GitLab by @ererkka on Oct 8, 2019, 08:53

File cx_Freeze_setup.py has

build_exe_options = {
        "packages": ["packaging", "pkg_resources"],
        "excludes": ["scipy.spatial.cKDTree"],
        "includes": [
            "atexit",
            "asyncio.base_futures",
            "asyncio.base_subprocess",
            "asyncio.base_tasks",
            "asyncio.compat",
            ...

but the module asyncio.compat is no longer included in Python 3.7.

spine-o-bot commented 3 years ago

In GitLab by @ererkka on Oct 8, 2019, 08:54

changed the description

spine-o-bot commented 3 years ago

In GitLab by @ererkka on Oct 8, 2019, 08:58

changed title from cx_Freeze build crashes on missing asyncio.compatmodule to cx_Freeze build crashes on missing asyncio.compat{+ +}module

spine-o-bot commented 3 years ago

In GitLab by @ererkka on Oct 8, 2019, 08:59

unassigned @ererkka

spine-o-bot commented 3 years ago

In GitLab by @PekkaSavolainen on Oct 8, 2019, 12:52

I've been making the release versions with Python 3.6. And since GDX Export item only works with Python 3.6 since GAMS Python bindings for Python 3.7 don't exist yet I think we should first see if there is some way to make the GDX Export item work in the release version. Possibly by making the GDX Export item our very first actual plugin...

spine-o-bot commented 3 years ago

In GitLab by @manuelma on Oct 8, 2019, 12:59

To me it would make more sense to have a built-in Exporter item and make the 'Gdx part' a plugin. The Gdx plugin could be like one of the modules in spine_io.exporters in this case.

spine-o-bot commented 3 years ago

In GitLab by @PekkaSavolainen on Oct 8, 2019, 13:04

Good idea.

spine-o-bot commented 3 years ago

In GitLab by @jkiviluo on Oct 8, 2019, 17:01

Maybe there should be a separate discussion issue on how to go forward with the plug-ins. That said, I feel that it would be good that a user can import a collection of plug-ins at once. Let's say that you want to work with Backbone - a GAMS model. You'd like to get a gdx importer, a gdx exporter, and the model itself (and possibly other related tools).

Considering this, would it be better to have a 'ribbon' for Backbone that would have icons for all of these tools. Or would it be better to have the gdx tools within 'importer' and 'exporter' tools. Of course you might use multiple GAMS models at once and then it starts to look bit dumb to have the importers and exporters multiple times. Still, it would be simpler to wrap tools in specific Ribbons. @fabianoP presented once another tool that incorporates lots of add-ons/plug-ins and it used ribbons extensively. It looked like a reasonable approach. Fabiano, could you copy paste an image of that?

spine-o-bot commented 3 years ago

In GitLab by @soininen on Oct 23, 2019, 13:34

Just a heads-up: we don't need to worry about GAMS since we don't use its Python bindings anymore. Not directly, at least.

spine-o-bot commented 3 years ago

In GitLab by @PekkaSavolainen on Oct 25, 2019, 14:48

assigned to @PekkaSavolainen

spine-o-bot commented 3 years ago

In GitLab by @PekkaSavolainen on Oct 25, 2019, 14:49

Is this issue still relevant?

spine-o-bot commented 3 years ago

In GitLab by @soininen on Oct 25, 2019, 15:13

It was relevant last week when I tried to build an installer with Python 3.7.

spine-o-bot commented 3 years ago

In GitLab by @PekkaSavolainen on Feb 18, 2020, 10:42

I'm still going to make the 0.4 release with Python 3.6 so we can push this to 0.5. I'll make the 0.5 with Python 3.7 so let's deal with this then.

spine-o-bot commented 3 years ago

In GitLab by @PekkaSavolainen on Nov 17, 2020, 16:36

This has been fixed in commit 2e4ea6b. cx_freeze_setup.py is now compatible with Python 3.7 (tested with Cx_freeze 6.3).