1

最近、確立された Django プロジェクトを Docker スタックから Google App Engine に変換する作業を開始しました。途中、Google Cloud Build が便利になりました。Cloudbuild は、展開の準備としていくつかの項目、特にアプリケーションのフロント エンド部分を処理します。

Python および Django 固有のタスクに関しては、クラウドビルドも使用することが当然の選択です。したがって、Google が公式の NPM クラウド ビルダーで説明しているパターンに従おうとしました (こちら) 。

私たちが直面している問題は次のとおりです。公式の python イメージでビルドする場合、ビルドステップは次のように設定されます。

steps:
[...]
   8 - name: 'python:3.7'                                                                                                                               
   9   entrypoint: python3                                                           
  10   args: ['-m', 'pip', 'install', '-r', 'requirements.txt']                      
  11 - name: 'python:3.7'                                                            
  12   entrypoint: python3                                                           
  13   args: ['./manage.py', 'collectstatic', '--noinput']

これは、すべての要件をインストールする最初のステップでは問題なく機能します。GAE はアプリケーションをデプロイするときにもこれを行いますが、ここではアップロードする前に、リポジトリとインストールされた django アプリから staticを収集する必要があります。

最初のステップは上記で成功しますが、2 番目のステップは次のエラーで失敗します。

File "./manage.py", line 14, in <module>
) from exc
ImportError: Couldn't import Django. Are you sure it's installed and 
available on your PYTHONPATH environment variable? Did you forget to 
activate a virtual environment?

この状況にアプローチするより良い方法はありますか?

4

2 に答える 2