michael_cooper
11/23/2020, 6:22 PMsetup.py
file, but the added poetry.lock
and pyproject.toml
break the installation.douwe_maan
11/23/2020, 6:59 PMpip install <pip_url>
inside it; nothing more, nothing less.
Does that work correctly if you run it manually without Meltano?
A package using Poetry for package management and publishing should still be a valid pip package, so I'm not sure why installation would break. Were you seeing any error messages or other specific symptoms of breakage you can share?michael_cooper
11/23/2020, 7:49 PM-e
, installs fine. If I have those two files within the tap extract
directory, I get this error:
Installing extractor 'tap-gmail'...
ERROR: Command errored out with exit status 1:
command: /projects/.meltano/extractors/tap-gmail/venv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/projects/extract/tap-gmail/setup.py'"'"'; __file__='"'"'/projects/extract/tap-gmail/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
cwd: /projects/extract/tap-gmail/
Complete output (3 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'setuptools'
----------------------------------------
ERROR: Command errored out with exit status 1: /projects/.meltano/extractors/tap-gmail/venv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/projects/extract/tap-gmail/setup.py'"'"'; __file__='"'"'/projects/extract/tap-gmail/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output.
Extractor 'tap-gmail' could not be installed: failed to install plugin 'tap-gmail'.
douwe_maan
11/23/2020, 8:36 PMModuleNotFoundError: No module named 'setuptools'
is weird, because setuptools
is automatically installed in a new venv, and we actually upgrade it to the latest version explicitly: https://gitlab.com/meltano/meltano/-/blob/master/src/meltano/core/venv_service.py#L96
What versions of Python and Meltano are you using?michael_cooper
11/23/2020, 8:45 PMmeltano:latest-python3.8
docker image.michael_cooper
11/23/2020, 8:46 PMsetup.py
, which has setuptools in it.douwe_maan
11/23/2020, 8:49 PMpoetry.lock
and pyproject.toml
resolves the failure?douwe_maan
11/23/2020, 8:51 PM/projects/.meltano/extractors/tap-gmail/venv/bin/pip install <tap-gmail pip_url>
?michael_cooper
11/23/2020, 9:04 PMmichael_cooper
11/23/2020, 9:07 PMgit+<url>
as the pip_url
, the installation fails silently (with the poetry files present) and throws a can't find executable
error. If I don't have the files while using the remote repo, it also works fine.douwe_maan
11/23/2020, 9:08 PMpip install extract/tap-gmail
or pip install git+url
?michael_cooper
11/23/2020, 9:13 PMpip install extract/tap-gmail
michael_cooper
11/23/2020, 9:19 PMpip install git+<https://github.com/Mashey/tap-gmail.git>
also works fine.douwe_maan
11/23/2020, 9:57 PMpip install
different from you running it directly, and how this specifically trips over those poetry files, with a seemingly unrelated error about setuptools
.douwe_maan
11/23/2020, 9:58 PMERROR: Command errored out with exit status 1:
command: /Users/kristofferb/Library/Caches/pypoetry/virtualenvs/reproduce-issue-QXZ_ZScA-py3.7/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/Users/kristofferb/Code/temp/gist-reproduce-3153/setup.py'"'"'; __file__='"'"'/Users/kristofferb/Code/temp/gist-reproduce-3153/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
cwd: /Users/kristofferb/Code/temp/gist-reproduce-3153/
Complete output (3 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'setuptools'
douwe_maan
11/23/2020, 10:01 PMdouwe_maan
11/23/2020, 10:01 PMdouwe_maan
11/23/2020, 10:04 PMSETUPTOOLS_USE_DISTUTILS=stdlib meltano install extractor tap-gmail
douwe_maan
11/23/2020, 10:06 PMdouwe_maan
11/23/2020, 10:10 PM/projects/.meltano/extractors/tap-gmail/venv
?michael_cooper
11/23/2020, 10:26 PMSETUPTOOLS_USE_DISTUTILS=stdlib
workaround got me past the issue for setuptools
though now I'm getting the same error for another package used. So it seems like there's still some sort of conflict with pip and the poetry files.michael_cooper
11/23/2020, 10:26 PMsetuptools 50.3.2
and pip 20.2.4
douwe_maan
11/23/2020, 10:39 PMdouwe_maan
11/23/2020, 10:39 PMsetup.py
if you're also using poetry, doesn't it built if for you?douwe_maan
11/23/2020, 10:40 PMmichael_cooper
11/23/2020, 10:45 PMsetup.py
with other taps, so I ended up just adding one.michael_cooper
11/23/2020, 10:46 PMpip
will install from a remote repo without setup.py
, but when I try to remove setup.py
and point the meltano pip_url
to the repo, it doesn't build it with an executable.douwe_maan
11/23/2020, 10:48 PMsetup.py
at all, and need to find Poetry's way of specifying an executable?douwe_maan
11/23/2020, 10:48 PMmichael_cooper
11/23/2020, 11:12 PMpip_url
to a branch, right? Like git+https://<url>#my_branch
douwe_maan
11/23/2020, 11:12 PMdouwe_maan
11/23/2020, 11:12 PM@refname
douwe_maan
11/23/2020, 11:12 PMmichael_cooper
11/23/2020, 11:28 PMdouwe_maan
11/23/2020, 11:38 PMpip install
the usual way?michael_cooper
11/24/2020, 7:00 PMpyproject.toml
file.douwe_maan
11/24/2020, 7:26 PM