Skip to content

ImportError dependent on import order #2012

@itrharrison

Description

@itrharrison

Hi,

Working on an M3 macbook pro in macOS 15.6.

Using miniforge3.

Creating a conda env from scratch.

Running

conda install python pip ipython
pip install tensorflow tensorflow_probablity tensorflow-keras

to install python 3.13 and

tensorflow==2.20.0
tensorflow-probability==0.24.0
tensorflow_keras==0.1

then in a python terminal

In [1]: import tensorflow_probability
In [2]: import tensorflow

succeeds, and I can use tf and tf keras and import and use my own modules which use them . But

In [1]: import tensorflow
In [2]: import tensorflow_probability

returns the (familiar) error

File ~/miniforge3/envs/tensorflow/lib/python3.13/site-packages/tensorflow_probability/python/__init__.py:79, in _validate_tf_environment(package)
     77 if required_tensorflow_version[0] == '2':
     78   try:
---> 79     import tf_keras  # pylint: disable=unused-import
     80   except (ImportError, ModuleNotFoundError):
     81     # Print more informative error message, then reraise.
     82     print('\n\nFailed to import TF-Keras. Please note that TF-Keras is not '
     83           'installed by default when you install TensorFlow Probability. '
     84           'This is so that JAX-only users do not have to install TensorFlow '
   (...)     87           'This can be be done through installing the '
     88           'tensorflow-probability[tf] extra.\n\n')

ModuleNotFoundError: No module named 'tf_keras'

When importing tf and tfp at the top of my own modules, this error also appears when I import mymodule no matter what order the import of tf and tfp happens in the module file.

I am note even sure how to debug this! I guess something to do with namespaces getting messed up, but I am very much a user not a dev...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions