meltano: bug: Meltano Upgrade on Windows stops with error "is not a valid Win32 application"

Meltano Version

2.3.0

Python Version

3.9

Bug scope

CLI (options, error messages, logging, etc.)

Operating System

Windows Server 2022 Standard

Description

I have noticed on Windows if the file(symbolic link) .meltano/run/bin is present in your project when you run the upgrade via meltano upgrade or the melatno ui “Upgrade Button” you will get the following WinError.

[WinError 193] %1 is not a valid Win32 application

if you remove the file and run meltano upgrade the upgrade will complete. I am not sure what the long term ramification of deleting the file is.

image

Code

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 17 (13 by maintainers)

Most upvoted comments

Would this be the pattern for all plugins calling meltano ?

I think thats TBD - im not sure that theres any other plugins out there (yet) that call back into meltano other than airflow and perhaps the WIP dagster plugin.

Admittedly I’m not very familiar for the context of why symlinks are created here and if there are other use cases where this is needed. However, it seems some of the context was from the days when Meltano was expecting users to manually create a virtualenv for Meltano, which may or may not be ‘activated’ at the time of invoking other processes. If Meltano is installed with pipx, as we currently recommend, then the meltano shim should already be on the PATH and I don’t know if we still need the symlinks.

I don’t want to block a valid fix but I’ve opened a related item here for longer-term discussion on this topic:

The above proposes we pass a modified PATH or a custom MELTANO_PATH to processes that may need to invoke Meltano directly.

@visch , @tayloramurphy , @aaronsteers , I was wondering does Windows even need a .\.meltano\run\bin file? Currently one is not created and everyone is running on pretty well. I made the assumption I was missing something vital but maybe running meltano init and meltano install via poetry shell was adding something Windows users do not need. I guess I am also curious as to what purpose the .\.meltano\run\bin symbolic link serves.