Okay, pip3 got me a step further I think. I'm goi...
# ingestion
i
Okay, pip3 got me a step further I think. I'm going to push a little further there.
g
Yes it should be pip3. To make sure the versions of python and pip match, I'd actually recommend using
python3 -m pip
i
I'm not familiar with that usage.
Is that used when utilizing pip?
g
Yep. It actually works with a fair number of other python projects as well, like
python3 -m black
,
python3 -m datahub
, etc
i
I'm still a little confused
Copy code
vmadmin@datahub-poc:~$ python3 -m acryl-datahub[mysql]
/usr/bin/python3: No module named acryl-datahub[mysql]
g
try
python3 -m pip install 'acryl-datahub[mysql]'
i
Thanks for spelling it out for me 🙂
Hmm I messed up somewhere:
Copy code
vmadmin@datahub-poc:~$ datahub ingest datahub-mysql.yaml 
Traceback (most recent call last):
  File "/home/vmadmin/.local/bin/datahub", line 7, in <module>
    from datahub.entrypoints import datahub
  File "/home/vmadmin/.local/lib/python3.6/site-packages/datahub/entrypoints.py", line 10, in <module>
    from datahub.check.check_cli import check
  File "/home/vmadmin/.local/lib/python3.6/site-packages/datahub/check/check_cli.py", line 8, in <module>
    from datahub.ingestion.sink.sink_registry import sink_registry
  File "/home/vmadmin/.local/lib/python3.6/site-packages/datahub/ingestion/sink/sink_registry.py", line 5, in <module>
    sink_registry.load("datahub.ingestion.sink.plugins")
  File "/home/vmadmin/.local/lib/python3.6/site-packages/datahub/ingestion/api/registry.py", line 55, in load
    plugin_class = entry_point.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2323, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2346, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 783, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (avro-python3 file-.avro-VERSION.txt (/home/vmadmin/.local/lib/python3.6/site-packages), Requirement.parse('avro-python3>=1.8.2'))
Copy code
vmadmin@datahub-poc:~$ python3 -m pip check
avro-gen3 0.4.0 has requirement avro-python3>=1.8.0; python_version > "3.0", but you have avro-python3 file-.avro-VERSION.txt.
acryl-datahub 0.1.2 has requirement avro-python3>=1.8.2, but you have avro-python3 file-.avro-VERSION.txt.
I'm not good with python package management
g
Ah I think you've run into a fairly esoteric bug - I think I've seen this one before as well. Can you try
Copy code
python3 -m pip uninstall avro-python3
python3 -m pip install --upgrade pip wheel setuptools
python3 -m pip install 'acryl-datahub[mysql]'
Hopefully, once that's been run,
python3 -m pip check
will be successful
i
@gray-shoe-75895 you're brilliant. Apologies, I didn't see your response sooner. I did eventually work my way to the same conclusion, but the process would have been much smoother if I had seen your response before now 😄
g
Glad you figured it out! Although I’ve had that problem as well, I’m not quite sure what precise series of steps causes it - just curious if you have a reliable way to reproduce it?
i
Hmm I'm not sure. I think I initially installed using
pip
, then switched to
pip3
, then
python3 -m pip
.
I wouldn't be surprised if that sequence of events was problematic. Maybe using pip installed an older version that was not subsequently updated?