title: useing requirements_file flag do not start worker process in python dataflow
body: <p>I'd like to use external library (eg mecab-python) in gcp-dataflow.
  In general, when using external libraries, use requestments.txt.
  However, even though I have prepared requirements.txt, the worker process in dataflow does not work well.</p>
  <p>I'm currently write code like that.</p>
  <pre><code>python3 -m apache_beam.examples.wordcount \
    --region $REGION \
    --output gs://$BUCKET/results/outputs \
    --runner  DataflowRunner \
    --project $PROJECT \
    --temp_location gs://$BUCKET/tmp/ \
    --requirements_file  ./requirements.txt
  </code></pre>
  <p>The worker process does not proceed after the following statement.</p>
  <pre><code>INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:02:51.397Z: JOB_MESSAGE_DEBUG: Value &quot;GroupAndSum/GroupByKey/Session&quot; materialized.
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:02:51.418Z: JOB_MESSAGE_DEBUG: Value &quot;Write/Write/WriteImpl/GroupByKey/Session&quot; materialized.
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:02:51.429Z: JOB_MESSAGE_BASIC: Executing operation Read/Read+Split+PairWIthOne+GroupAndSum/GroupByKey+GroupAndSum/Combine/Partial+GroupAndSum/GroupByKey/Reify+G
  roupAndSum/GroupByKey/Write
  INFO:apache_beam.runners.dataflow.dataflow_runner:Job 2021-01-17_05_02_36-17241324845585998354 is in state JOB_STATE_RUNNING
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:03:17.082Z: JOB_MESSAGE_DETAILED: Autoscaling: Raised the number of workers to 1 based on the rate of progress in the currently running stage(s).
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:03:46.622Z: JOB_MESSAGE_DETAILED: Workers have started successfully.
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:03:46.632Z: JOB_MESSAGE_DETAILED: Workers have started successfully.
  </code></pre>
  <p>but removeing <code>  --requirements_file  ./requirements.txt</code> flag the worker process proceeds normally.
  log like that.</p>
  <pre><code>INFO:apache_beam.runners.dataflow.dataflow_runner:Job 2021-01-17_05_25_22-15232043370416313688 is in state JOB_STATE_RUNNING
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:25:58.407Z: JOB_MESSAGE_DETAILED: Autoscaling: Raised the number of workers to 1 based on the rate of progress in the currently running stage(s).
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:26:29.645Z: JOB_MESSAGE_DETAILED: Workers have started successfully.
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:26:29.666Z: JOB_MESSAGE_DETAILED: Workers have started successfully.
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:28:43.364Z: JOB_MESSAGE_BASIC: Finished operation Read/Read+Split+PairWIthOne+GroupAndSum/GroupByKey+GroupAndSum/Combine/Partial+GroupAndSum/GroupByKey/Reify+Gr
  oupAndSum/GroupByKey/Write &lt;&lt;Proceed to this stage.
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:28:43.390Z: JOB_MESSAGE_BASIC: Executing operation GroupAndSum/GroupByKey/Close
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:28:43.416Z: JOB_MESSAGE_BASIC: Finished operation GroupAndSum/GroupByKey/Close
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:28:51.145Z: JOB_MESSAGE_BASIC: Finished operation Write/Write/WriteImpl/DoOnce/Read+Write/Write/WriteImpl/InitializeWrite
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:28:51.167Z: JOB_MESSAGE_DEBUG: Value &quot;Write/Write/WriteImpl/DoOnce/Read.out&quot; materialized.
  INFO:apache_beam.runners.dataflow.dataflow_runner:2021-01-17T13:28:51.177Z: JOB_MESSAGE_DEBUG: Value &quot;Write/Write/WriteImpl/InitializeWrite.out&quot; materialized.
  </code></pre>
  <p>version: <code>apache_beam-2.27.0-cp37-cp37m-manylinux1_x86_64.whl</code></p>
  <p><code>requirements.txt</code> have simply one package.</p>
  <pre><code>python-dotenv
  </code></pre>
  <h1>Self-solved</h1>
  <p>Finally, I was able to run it by writing it in <code>setup.py</code> instead of using <code>requirements.txt</code>.</p>
  <pre><code># setup.py
  from setuptools import setup, find_packages
  setup(
      name='foobar test',
      version='0.0.1',
      install_requires=[
          'python-dotenv==0.15.0',
      ],
      description='foobazz description',
  )
  
  </code></pre>
  <p>then run those script.</p>
  <pre><code>#run.sh
  python3 -m apache_beam.examples.wordcount \
    --region $REGION \
    --output gs://$BUCKET/results/outputs \
    --runner  DataflowRunner \
    --project $PROJECT \
    --temp_location gs://$BUCKET/tmp/ \
     --setup_file ./setup.py  
  </code></pre>