sherlock-project icon indicating copy to clipboard operation
sherlock-project copied to clipboard

Tensorflow not included in requirements

Open michaelmior opened this issue 2 years ago • 6 comments

In the Python 3.8 requirements file, Tensorflow is not included. Furthermore, it doesn't appear that there's a version of Tensorflow that is compatible with all the other packages that are listed there. Switching to something like Pipenv or Poetry would likely make such things much easier to manage.

michaelmior avatar May 20 '22 18:05 michaelmior

Same here. Looks like it was an unfinished attempt to support Python 3.8?!

alexandrosandre avatar Jun 14 '22 10:06 alexandrosandre

Thanks for sharing this issue! I hope you managed to make it work in the meantime, but I will look into this later. If you have a general solution, a PR would be welcome as well!

madelonhulsebos avatar Jun 15 '22 09:06 madelonhulsebos

@madelonhulsebos I would strongly recommend making use of pipenv or Poetry. Primarily because it makes it easy to track the dependencies the project actually needs while still pinning the versions of all transitive dependencies. This makes it easy to update dependencies while still maintaining a consistent set of versions.

michaelmior avatar Jun 15 '22 09:06 michaelmior

Thanks @michaelmior, I manage the packages as in the requirements.txt with conda but did not test the 3.8 requirements. Will work on this, thanks!

madelonhulsebos avatar Jun 15 '22 09:06 madelonhulsebos

My point is that requirements.txt includes all transitive dependencies which makes upgrading messy. For example absl-py is not directly required by Sherlock, but somewhere else down the chain of dependencies. There's no way to identify this case with just a requirements file which makes much more challenging to upgrade. I had this experience when trying to get Sherlock with Python 3.x. However, I'm happy to keep maintaining my own fork if the current approach works for you :)

michaelmior avatar Jun 15 '22 10:06 michaelmior

My point is that requirements.txt includes all transitive dependencies which makes upgrading messy. For example absl-py is not directly required by Sherlock, but somewhere else down the chain of dependencies. There's no way to identify this case with just a requirements file which makes much more challenging to upgrade. I had this experience when trying to get Sherlock with Python 3.x. However, I'm happy to keep maintaining my own fork if the current approach works for you :)

https://github.com/mitmedialab/sherlock-project/pull/29/files Addresses this part.

alexandrosandre avatar Jun 16 '22 12:06 alexandrosandre