Skip to content
This repository has been archived by the owner on Nov 18, 2023. It is now read-only.

Unable to install Grakn KGLIB package - Conflicting dependencies #152

Open
nicolamassarenti opened this issue Apr 26, 2021 · 10 comments
Open

Comments

@nicolamassarenti
Copy link

Description

Unable to install grakn-kglib with Grakn 2.0.2 and python client grakn-client==2.0.1.

Environment

  1. OS: Ubuntu 20.04
  2. Grakn version: Grakn server 2.0.2, Grakn console 2.0.1
  3. Grakn KGLIB and client-python version: grakn-kglib==0.2.2, grakn-client==2.0.1.
  4. Python version: Python 3.8.5

Steps to create the smallest reproducible scenario:
With the following packages installed:

appdirs==1.4.4
black==20.8b1
click==7.1.2
grakn-client==2.0.1
grakn-protocol==2.0.1
grpcio==1.36.1
mypy-extensions==0.4.3
numpy==1.20.2
pandas==1.2.4
pathspec==0.8.1
pkg-resources==0.0.0
protobuf==3.15.5
python-box==5.3.0
python-dateutil==2.8.1
pytz==2021.1
PyYAML==5.4.1
regex==2021.4.4
six==1.15.0
toml==0.10.2
typed-ast==1.4.3
typing-extensions==3.7.4.3

when running the command pip install grakn-kglib I receive the following error:

ERROR: Cannot install grakn-kglib==0.1, grakn-kglib==0.2, grakn-kglib==0.2.1 and grakn-kglib==0.2.2 because these package versions have conflicting dependencies.

The conflict is caused by:
    grakn-kglib 0.2.2 depends on scipy==1.3.1
    grakn-kglib 0.2.1 depends on scipy==1.3.1
    grakn-kglib 0.2 depends on tensorflow==1.14.0
    grakn-kglib 0.1 depends on tensorflow==1.11.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

As you can see from this picture:
image

And a little above is shown also the errors:
image

Expected Output

I would like to install and use the kglib package. How can I solve this problem? What is the issue?

Thanks,
Nicola

@jmsfltchr
Copy link
Contributor

jmsfltchr commented Apr 26, 2021

Hi @nicolamassarenti,

The issue I've noticed here is that KGLIB has not yet been updated to use the latest version of Grakn. The latest release of KGLIB works with Grakn 1.8, with grakn-client==1.8.0. This needs to be updated urgently as there are huge performance gains, among other benefits, of the latest version of Grakn. But for right now that's the supported version.

I believe that TensorFlow 1.4 (which we currently require) isn't compatible with Python 3.8.

The conflict error seems to suggest that multiple versions of KGLIB are being installed, and they conflict with one another.

I suggest that you follow the requirements as listed in the readme (including Grakn and Python versions), and you can also refer to the project's requirements.txt for which dependencies should (automatically) be installed.

PS: Grakn has been renamed to TypeDB!

@nicolamassarenti
Copy link
Author

Hi @nicolamassarenti,

Hi @jmsfltchr,

thank you for the quick answer.

The issue I've noticed here is that KGLIB has not yet been updated to use the latest version of Grakn. The latest release of KGLIB works with Grakn 1.8, with grakn-client==1.8.0. This needs to be updated urgently as there are huge performance gains, among other benefits, of the latest version of Grakn. But for right now that's the supported version.

This could be an issue since we decided to use version 2.0.x due to this suggestion.

Do you have any ETA about the delivery of kglib version compatible with Grakn 2.0.x?

Does this mean that I won't be able of using kglib until when you update the package? Or does it exist a trick for making it compatible with the latest version of Grakn (TypeDB)?

Thank you in advance,
Nicola

@jmsfltchr
Copy link
Contributor

Do you have any ETA about the delivery of kglib version compatible with Grakn 2.0.x?

We should do this in the coming days to unblock users such as yourself!

Does this mean that I won't be able of using kglib until when you update the package? Or does it exist a trick for making it compatible with the latest version of Grakn (TypeDB)?

If you are asking regarding the version conflicts, I haven't seen the same version conflict you posted before. So, I am confident that when we upgrade the library you will have full functionality. if not we will fix it.

In the meantime I believe this branch from one of the contributors is 2.0-compatible if you need unblocking straight away!

@nicolamassarenti
Copy link
Author

nicolamassarenti commented Apr 27, 2021

Do you have any ETA about the delivery of kglib version compatible with Grakn 2.0.x?

We should do this in the coming days to unblock users such as yourself!

Looking forward to use it!

Does this mean that I won't be able of using kglib until when you update the package? Or does it exist a trick for making it compatible with the latest version of Grakn (TypeDB)?

If you are asking regarding the version conflicts, I haven't seen the same version conflict you posted before. So, I am confident that when we upgrade the library you will have full functionality. if not we will fix it.

Using python 3.7.9 I had no dependency conflicts 👍🏻

In the meantime I believe this branch from one of the contributors is 2.0-compatible if you need unblocking straight away!

I tried to build from source the repository you gave me but I still have errors (see pic below).
image

It seems that we are now blocked and since we already have moved to TypeDB 2.0.2 we are not able to implement the machine learning logics with your package kglib that were of our interest.

@jmsfltchr if you have any other suggestions to make kglib work with TypeDB 2.0.2 please, let me know it so I can test it. Otherwise I guess we (the team I'm part of) will have to wait for your release.

Nicola

@jmsfltchr
Copy link
Contributor

Hi @nicolamassarenti, thanks for trying, but yes I suggest it's best to wait for the next release :/

We'll try to make that happen soon!

@PolKul
Copy link

PolKul commented Apr 29, 2021

I'm not able to install KGLIB with either Python 2.7 or 3.8. It outputs the same error as above. Which version of Python is it currently compatible with?

@jmsfltchr
Copy link
Contributor

I believe we've tried with both Python 3.6.x and 3.7.x for which it's working fine @PolKul!

@nicolamassarenti
Copy link
Author

@jmsfltchr ok, we are waiting.

While upgrading the package for Grakn version 2.x, are you also going to upgrade Tensorflow to version 2.4.x?

@nicolamassarenti
Copy link
Author

Hello @jmsfltchr, do you have any update about the release of the package compatible with the latest TypeDB?

Thanks!

@jmsfltchr
Copy link
Contributor

jmsfltchr commented Jul 13, 2021

Hi @nicolamassarenti I have a branch that's compatible, but we still have a bug to iron out before we can release. You may be able to depend on my branch directly using pip so that you can use kglib as a dependency the same way you will once it's released to PyPi

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants