Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ModuleNotFoundError: 1.4.0 (and below, possibly) missing an explicit future dependency #257

Closed
IanTayler opened this issue Jan 7, 2022 · 9 comments

Comments

@IanTayler
Copy link

IanTayler commented Jan 7, 2022

As of right now, new installations of tensorflow-transform==1.4.0 fail to import with a ModuleNotFoundError because the future library is not marked as a dependency in the setup.py.

This likely wasn't a problem before because some recursive dependency of tft depended on future, masking the issue. But future is a hard dependency of tft 1.4.0, as it is imported on import tensorflow_transform, so it should probably be added as a dep in a 1.4.1 release (assuming this team does back-releases of that kind).

For people looking for a hotfix in your own project, adding future as a dependency of your project should be enough.

This isn't a problem in 1.5.0 because the only usage of future was removed in this commit.

@davidxia
Copy link

davidxia commented Jan 26, 2022

My team's using tfx==1.3.4 and also hit this today. This tfx version pulls in tensorflow-transform==1.3.0 which explicitly depends on future here but doesn't declare it as a dependency.

We worked around by adding future==0.18.2 to our own requirements.txt.

The error messages will say Exception: The full "tfx" package must be installed to use this functionality. But if you look more closely, you'll see it's a future import failure.

@casassg
Copy link
Member

casassg commented Feb 11, 2022

@rcrowe-google any chance to get a patch release for this 1.4.1? Seeing also some issues here on CI - https://github.com/tensorflow/tfx-addons/runs/5031481438?check_suite_focus=true

@jeongukjae
Copy link

Same here. I'm using tensorflow-transform==1.4.0 and tfx==1.4.1, and ModuleNotFoundError: No module named 'future' raised.
After the pip install future, it works.

@jiyongjung0
Copy link

FYI, tensorflow-transform 1.4.1 was released with future as an additional dependency.

@davidxia
Copy link

davidxia commented Feb 28, 2022

This issue can probably be closed since #262 is merged. People can probably reopen if they really need for older versions.

@davidxia
Copy link

davidxia commented Feb 28, 2022

Actually I noticed the future requirement wasn't added to the 1.5 or 1.6 branches. Any chance they can be updated as well?

@zoyahav
Copy link
Member

zoyahav commented Mar 1, 2022

This shouldn't be needed as the dependency on future was removed in 1.5, did you run into an issue with 1.5 or 1.6?

See 1.4.1

from future.utils import with_metaclass

v.s. 1.5

@davidxia
Copy link

davidxia commented Mar 1, 2022

@zoyahav I see, thanks! This can probably be closed then.

@zoyahav
Copy link
Member

zoyahav commented Mar 1, 2022

Thanks for verifying!

@zoyahav zoyahav closed this as completed Mar 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants