Hi :wave: I have Meltano (v2.1.0) installed in my...
# singer-tap-development
a
Hi 👋 I have Meltano (v2.1.0) installed in my project’s venv and then trying to install
singer-sdk
(latest) but running into dependency errors, more details in the thread. Appreciate any help. 🙂
Here’s error I’m getting while installing sdk;
Copy code
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pyopenssl 22.0.0 requires cryptography>=35.0, but you have cryptography 3.4.8 which is incompatible.
meltano 2.1.0 requires click<8.0,>=7.0, but you have click 8.1.3 which is incompatible.
meltano 2.1.0 requires python-dotenv<0.15.0,>=0.14.0, but you have python-dotenv 0.20.0 which is incompatible.
meltano 2.1.0 requires simplejson<4.0.0,>=3.16.0, but you have simplejson 3.11.1 which is incompatible.
flask 1.1.4 requires click<8.0,>=5.1, but you have click 8.1.3 which is incompatible.
Here’s the output for
pip list
for the env of project I’m working on. ```Package Version -------------------------- ----------- aenum 2.1.2 aiodocker 0.21.0 aiohttp 3.8.1 aiosignal 1.2.0 alembic 1.8.0 aniso8601 9.0.1 anyio 3.6.1 appnope 0.1.3 argcomplete 2.0.0 argh 0.26.2 asgiref 3.5.2 asn1crypto 1.5.1 async-generator 1.10 async-timeout 4.0.2 atomicwrites 1.4.0 attrs 21.4.0 Authlib 0.10 Babel 2.10.3 backcall 0.2.0 backoff 1.8.0 bcrypt 3.2.2 blinker 1.4 cached-property 1.5.2 certifi 2022.6.15 cffi 1.15.0 charset-normalizer 2.0.12 ciso8601 2.2.0 click 8.1.3 click-default-group 1.2.2 cryptography 3.4.8 decorator 5.1.1 dnspython 2.2.1 email-validator 1.2.1 fasteners 0.15 Flask 1.1.4 Flask-BabelEx 0.9.4 Flask-Cors 3.0.10 Flask-Executor 0.9.4 Flask-Login 0.6.1 Flask-Mail 0.9.1 Flask-Principal 0.4.0 Flask-RESTful 0.3.9 Flask-SQLAlchemy 2.5.1 Flask-WTF 1.0.1 flatten-dict 0.4.2 frozenlist 1.3.0 greenlet 1.1.2 gunicorn 19.10.0 h11 0.13.0 httptools 0.4.0 idna 3.3 importlib-metadata 4.11.4 inflection 0.5.1 ipython 7.34.0 itsdangerous 1.1.0 jedi 0.18.1 Jinja2 2.11.3 joblib 1.1.0 jsonpath-ng 1.5.3 jsonschema 3.2.0 Mako 1.2.0 Markdown 3.3.7 MarkupSafe 2.0.1 matplotlib-inline 0.1.3 meltano 2.1.0 meltano-flask-security 0.1.0 memoization 0.3.2 monotonic 1.6 multidict 6.0.2 networkx 2.8.4 oscrypto 1.3.0 packaging 21.3 parso 0.8.3 passlib 1.7.4 pathtools 0.1.2 pendulum 2.1.2 pexpect 4.8.0 pickleshare 0.7.5 pip 21.2.4 pipelinewise-singer-python 1.2.0 pipx 1.1.0 ply 3.11 prompt-toolkit 3.0.29 psutil 5.9.1 psycopg2-binary 2.9.3 ptyprocess 0.7.0 pycparser 2.21 pycryptodomex 3.15.0 Pygments 2.12.0 pyhocon 0.3.59 pyhumps 3.7.1 PyJWT 2.4.0 pyOpenSSL 22.0.0 pyparsing 2.4.7 PyPika 0.25.2 pyrsistent 0.18.1 python-dateutil 2.8.2 python-dotenv 0.20.0 python-gitlab 1.15.0 pytz 2020.5 pytz-deprecation-shim 0.1.0.post0 pytzdata 2020.1 PyYAML 5.4.1 requests 2.28.0 setuptools 58.1.0 simplejson 3.11.1 singer-sdk 0.5.0 six 1.16.0 smtpapi 0.4.12 sniffio 1.2.0 snowflake-connector-python 2.7.8 snowflake-sqlalchemy 1.3.4 snowplow-tracker 0.10.0 speaklater 1.3 SQLAlchemy 1.4.38 sqlparse …
Not sure why latest versions of both Meltano and Singer SDK are being incompatible here, please note that besides, these two, I also had
pipx
,
cookicutter
, and
poetry
installed manually which brought in all the additional deps in the list above.
c
What is your intention? Are you developing on a tap?
w
I don't have an immediate fix for your issue, but a future version of Meltano (hopefully the next release) will use Flask v2.1.X, and Click v8.0.X (https://github.com/meltano/meltano/pull/6271).
a
hey @christoph - yes, I am trying to develop a tap.
@Will Da Silva (Arch) thanks for sharing the plan. Is there a work around to proceed with the installation?
w
The approaches I can think of would be: • Downgrade Click/Flask/etc. until Meltano supports the newer versions. • Use a different virtual environment for Meltano, i.e. use 2 virtual environments. • Use Meltano built from the branch (not recommended). • Wait until the PR has been merged, and a new version of Meltano has been released. Sorry I don't have a better answer at this time. Feel free to voice your support for expediting the PR with a comment or 👍 on it.
c
hey @christoph - yes, I am trying to develop a tap.
In that case, you don't need to install
meltano
into the project's virtualenv. It is recommended to instead use
pipx
to install
meltano
into your user profile (i.e. OUTSIDE of the
poetry
virtualenv that is used for your tap development) https://docs.meltano.com/guide/installation#install-pipx