title: ImportError: cannot import name 'execution_result_pb2'
body: <p>I'm trying to execute the TFX-Airflow tutorial (<a href="https://www.tensorflow.org/tfx/tutorials/tfx/airflow_workshop" rel="nofollow noreferrer">https://www.tensorflow.org/tfx/tutorials/tfx/airflow_workshop</a>). When I try to connect to the server using <code>airflow webserver -p 8008</code> it gives me the following error</p>
  <pre><code>Traceback (most recent call last):
    File &quot;/home/tester/.local/lib/python3.6/site-packages/airflow/models/dagbag.py&quot;, line 243, in process_file
      m = imp.load_source(mod_name, filepath)
    File &quot;/usr/lib/python3.6/imp.py&quot;, line 172, in load_source
      module = _load(spec)
    File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 684, in _load
    File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 665, in _load_unlocked
    File &quot;&lt;frozen importlib._bootstrap_external&gt;&quot;, line 678, in exec_module
    File &quot;&lt;frozen importlib._bootstrap&gt;&quot;, line 219, in _call_with_frames_removed
    File &quot;/home/tester/airflow/dags/taxi_pipeline_solution.py&quot;, line 26, in &lt;module&gt;
      from tfx.components import CsvExampleGen
    File &quot;/home/tester/Airflow/tfx/tfx/components/__init__.py&quot;, line 17, in &lt;module&gt;
      from tfx.components.bulk_inferrer.component import BulkInferrer
    File &quot;/home/tester/Airflow/tfx/tfx/components/bulk_inferrer/component.py&quot;, line 19, in &lt;module&gt;
      from tfx.components.bulk_inferrer import executor
    File &quot;/home/tester/Airflow/tfx/tfx/components/bulk_inferrer/executor.py&quot;, line 26, in &lt;module&gt;
      from tfx.dsl.components.base import base_executor
    File &quot;/home/tester/Airflow/tfx/tfx/dsl/components/base/base_executor.py&quot;, line 33, in &lt;module&gt;
      from tfx.proto.orchestration import execution_result_pb2
  ImportError: cannot import name 'execution_result_pb2'
  </code></pre>
  <p>My system is running on Ubuntu 20.04 and I have a virtual environment with all the dependencies installed as listed on the linked tutorial. I've used the 8008 port since I was getting an error with the 8080 port (that the connection is in use).</p>
  <p>I read that it could be because the module is missing/circular dependent imports but I'm not sure which packages are responsible. I cannot find an <code>execution_result_pb2.py</code> file on my system (assuming it is a file). Does anyone know how to solve this?</p>