Skip to content

Unable to install via meltano add #16

Open
@anden-akkio

Description

@anden-akkio

Overview

Attempting to install this via meltano add but am running into an error that is extremely vague to the point that I'm not really sure where to start debugging.

Other extractors install fine. For example, just ran meltano --log-level=debug add extractor tap-mysql --variant singer-io and it went through fine.

CLI Output

(venv) ➜  meltano git:(tech/testing-improvements) ✗ meltano --log-level=debug add extractor tap-mysql --variant meltanolabs
2023-09-25T16:20:26.201060Z [debug    ] /etc/localtime found
2023-09-25T16:20:26.202827Z [debug    ] 1 found:
 {'/etc/localtime is a symlink to': 'America/Chicago'}
2023-09-25T16:20:26.204682Z [debug    ] Creating DB engine for project at '/Users/andenacitelli/meltano-service/src/meltano' with DB URI 'sqlite://Users/andenacitelli/meltano-service/src/meltano/.meltano/meltano.db'
2023-09-25T16:20:27.204517Z [debug    ] Found plugin parent            parent=tap-mysql plugin=tap-mysql source=<DefinitionSource.HUB: 1>
2023-09-25T16:20:27.220241Z [debug    ] Locked plugin definition       path=PosixPath('/Users/andenacitelli/meltano-service/src/meltano/plugins/extractors/tap-mysql--meltanolabs.lock')
Added extractor 'tap-mysql' to your Meltano project
Variant:        meltanolabs
Repository:     https://github.com/MeltanoLabs/tap-mysql
Documentation:  https://hub.meltano.com/extractors/tap-mysql--meltanolabs

Installing extractor 'tap-mysql'...
2023-09-25T16:20:27.287477Z [debug    ] Packages for 'extractors/tap-mysql' have changed so performing a clean install.
2023-09-25T16:20:27.287819Z [debug    ] Removed old virtual environment for 'extractors/tap-mysql'
2023-09-25T16:20:27.287859Z [debug    ] Creating virtual environment for 'extractors/tap-mysql'
2023-09-25T16:20:27.706016Z [debug    ] Upgrading pip for 'extractors/tap-mysql'
2023-09-25T16:20:27.706127Z [debug    ] Upgrading with args '--upgrade pip' in existing virtual environment for 'extractors/tap-mysql'
2023-09-25T16:20:28.759323Z [debug    ] Installing with args 'git+https://github.com/MeltanoLabs/tap-mysql.git' into virtual environment for 'extractors/tap-mysql'
Extractor 'tap-mysql' could not be installed: failed to install plugin 'tap-mysql'.

2023-09-25T16:20:32.134568Z [debug    ] Need help fixing this problem? Visit http://melta.no/ for troubleshooting steps, or to
join our friendly Slack community.

Failed to install plugin(s) 
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/meltano/cli/__init__.py:1 │
│ 02 in _run_cli                                                                                   │
│                                                                                                  │
│    99 │   """
│   100 │   try:                                                                                   │
│   101 │   │   try:  # noqa: WPS225, WPS505                                                       │
│ ❱ 102 │   │   │   cli(obj={"project": None})                                                     │
│   103 │   │   except ProjectReadonly as err:                                                     │
│   104 │   │   │   raise CliError(                                                                │
│   105 │   │   │   │   f"The requested action could not be completed: {err}",                     │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/click/core.py:1157 in     │
│ __call__                                                                                         │
│                                                                                                  │
│   1154 │                                                                                         │
│   1155 │   def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any:                           │
│   1156 │   │   """Alias for :meth:`main`."""
│ ❱ 1157 │   │   return self.main(*args, **kwargs)                                                 │
│   1158                                                                                           │
│   1159                                                                                           │
│   1160 class Command(BaseCommand):                                                               │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/meltano/cli/cli.py:42 in  │
│ main                                                                                             │
│                                                                                                  │
│    39 │   │   │   args: Positional arguments for the Click group.                                │
│    40 │   │   │   kwargs: Keyword arguments for the Click group.                                 │
│    41 │   │   """                                                                                │
│ ❱  42 │   │   return super().main(*args, windows_expand_args=False, **kwargs)                    │
│    43                                                                                            │
│    44                                                                                            │
│    45 @click.group(                                                                              │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/click/core.py:1078 in     │
│ main                                                                                             │
│                                                                                                  │
│   1075 │   │   try:                                                                              │
│   1076 │   │   │   try:                                                                          │
│   1077 │   │   │   │   with self.make_context(prog_name, args, **extra) as ctx:                  │
│ ❱ 1078 │   │   │   │   │   rv = self.invoke(ctx)                                                 │
│   1079 │   │   │   │   │   if not standalone_mode:                                               │
│   1080 │   │   │   │   │   │   return rv                                                         │
│   1081 │   │   │   │   │   # it's not safe to `ctx.exit(rv)` here!                               │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/meltano/cli/utils.py:612  │
│ in invoke                                                                                        │
│                                                                                                  │
│   609 │   │   enact_environment_behavior(self.environment_behavior, ctx)                         │
│   610 │   │   if ctx.obj.get("tracker"):                                                         │
│   611 │   │   │   ctx.obj["tracker"].add_contexts(CliContext.from_click_context(ctx))            │
│ ❱ 612 │   │   super().invoke(ctx)                                                                │
│   613                                                                                            │
│   614                                                                                            │
│   615 class InstrumentedDefaultGroup(InstrumentedGroupMixin, DefaultGroup, DYMGroup):            │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/click/core.py:1688 in     │
│ invoke                                                                                           │
│                                                                                                  │
│   1685 │   │   │   │   super().invoke(ctx)                                                       │
│   1686 │   │   │   │   sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)                    │
│   1687 │   │   │   │   with sub_ctx:                                                             │
│ ❱ 1688 │   │   │   │   │   return _process_result(sub_ctx.command.invoke(sub_ctx))               │
│   1689 │   │                                                                                     │
│   1690 │   │   # In chain mode we create the contexts step by step, but after the                │
│   1691 │   │   # base command has been invoked.  Because at that point we do not                 │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/meltano/cli/utils.py:661  │
│ in invoke                                                                                        │
│                                                                                                  │
│   658 │   │   if ctx.obj.get("tracker"):                                                         │
│   659 │   │   │   ctx.obj["tracker"].add_contexts(CliContext.from_click_context(ctx))            │
│   660 │   │   │   ctx.obj["tracker"].track_command_event(CliEvent.started)                       │
│ ❱ 661 │   │   super().invoke(ctx)                                                                │
│   662                                                                                            │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/click/core.py:1434 in     │
│ invoke                                                                                           │
│                                                                                                  │
│   1431 │   │   │   echo(style(message, fg="red"), err=True)                                      │
│   1432 │   │                                                                                     │
│   1433 │   │   if self.callback is not None:                                                     │
│ ❱ 1434 │   │   │   return ctx.invoke(self.callback, **ctx.params)                                │
│   1435 │                                                                                         │
│   1436 │   def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]:  │
│   1437 │   │   """Return a list of completions for the incomplete value. Looks                   │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/click/core.py:783 in      │
│ invoke                                                                                           │
│                                                                                                  │
│    780 │   │                                                                                     │
│    781 │   │   with augment_usage_errors(__self):                                                │
│    782 │   │   │   with ctx:                                                                     │
│ ❱  783 │   │   │   │   return __callback(*args, **kwargs)                                        │
│    784 │                                                                                         │
│    785 │   def forward(                                                                          │
│    786 │   │   __self, __cmd: "Command", *args: t.Any, **kwargs: t.Any  # noqa: B902             │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/meltano/cli/params.py:27  │
│ in decorate                                                                                      │
│                                                                                                  │
│   24 │   │   if database_uri:                                                                    │
│   25 │   │   │   ProjectSettingsService.config_override["database_uri"] = database_uri           │
│   26 │   │                                                                                       │
│ ❱ 27 │   │   return func(*args, **kwargs)                                                        │
│   28 │                                                                                           │
│   29 │   return functools.update_wrapper(decorate, func)                                         │
│   30                                                                                             │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/meltano/cli/params.py:75  │
│ in decorate                                                                                      │
│                                                                                                  │
│   72 │   │   │   │   except MigrationError as err:                                               │
│   73 │   │   │   │   │   raise CliError(str(err)) from err                                       │
│   74 │   │   │                                                                                   │
│ ❱ 75 │   │   │   func(project, *args, **kwargs)                                                  │
│   76 │   │                                                                                       │
│   77 │   │   return functools.update_wrapper(decorate, func)                                     │
│   78                                                                                             │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/click/decorators.py:33 in │
│ new_func                                                                                         │
│                                                                                                  │
│    30 │   """                                                                                    │
│    31 │                                                                                          │
│    32 │   def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R":                            │
│ ❱  33 │   │   return f(get_current_context(), *args, **kwargs)                                   │
│    34 │                                                                                          │
│    35 │   return update_wrapper(new_func, f)                                                     │
│    36                                                                                            │
│                                                                                                  │
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/meltano/cli/add.py:163 in │
│ add                                                                                              │
│                                                                                                  │
│   160 │   │                                                                                      │
│   161 │   │   if not success:                                                                    │
│   162 │   │   │   tracker.track_command_event(CliEvent.failed)                                   │
│ ❱ 163 │   │   │   raise CliError("Failed to install plugin(s)")                                  │
│   164 │                                                                                          │
│   165 │   _print_plugins(plugins)                                                                │
│   166 │   tracker.track_command_event(CliEvent.completed)                                        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
CliError: Failed to install plugin(s)

The above exception was the direct cause of the following exception:

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/andenacitelli/meltano-service/venv/lib/python3.10/site-packages/meltano/cli/__init__.py:1 │
│ 12 in _run_cli                                                                                   │
│                                                                                                  │
│   109 │   │   except MeltanoError as err:                                                        │
│   110 │   │   │   handle_meltano_error(err)                                                      │
│   111 │   │   except Exception as err:                                                           │
│ ❱ 112 │   │   │   raise CliError(f"{troubleshooting_message}\n{err}") from err                   │
│   113 │   except CliError as cli_error:                                                          │
│   114 │   │   cli_error.print()                                                                  │
│   115 │   │   sys.exit(1)                                                                        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
CliError: Need help fixing this problem? Visit http://melta.no/ for troubleshooting steps, or to
join our friendly Slack community.

Failed to install plugin(s)

Need help fixing this problem? Visit http://melta.no/ for troubleshooting steps, or to
join our friendly Slack community.

Failed to install plugin(s)

meltano.yml

default_environment: staging
environments:
- name: staging
- name: production
plugins:
  extractors:
  - name: tap-postgres
    variant: transferwise
    pip_url: pipelinewise-tap-postgres
  - name: tap-s3-csv
    variant: transferwise
    pip_url: pipelinewise-tap-s3-csv
  - name: tap-mysql
    variant: meltanolabs
    pip_url: git+https://github.com/MeltanoLabs/tap-mysql.git
  loaders:
  - name: target-s3
    variant: crowemi
    pip_url: git+https://github.com/crowemi/target-s3.git
  - name: target-gcs
    variant: datateer
    pip_url: git+https://github.com/Datateer/target-gcs.git
  - name: target-postgres
    variant: meltanolabs
    pip_url: git+https://github.com/MeltanoLabs/target-postgres.git
  mappers:
  - name: meltano-map-transformer
    variant: meltano
    pip_url: git+https://github.com/MeltanoLabs/meltano-map-transform.git
    executable: meltano-map-transform
project_id: 05ff139b-599a-4d08-9a70-ee167a1dcdaf
version: 1

What I've Tried

  • Wipe .meltano/ and try again
  • meltano install --clean
  • Wipe lock files and try again

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions