我正在使用Google云平台创建基于DJANGO的HTTP API,该平台使用Google的云SQL API和机器学习API。
我在我的PC上制作了一个Django-Mysql应用程序,并能够在Localhost上成功测试它。我想将此应用部署到Google Cloud。
以下是我的相关文件: app.yaml: -
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /static
static_dir: static/
- url: .*
script: mysite.wsgi.application
libraries:
- name: MySQLdb
version: 1.2.5
- name: numpy
version: "1.6.1"
skip_files:
- ^(.*/)?- ^(.*/)?.*~$
- ^(.*/)?.*.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?..*$
- ^env/.*$
appengine_config.py: -
from google.appengine.ext import vendor
import os
vendor.add(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'lib'))
我在API Home上遇到500个错误。这里。我在仪表板上收到以下错误报告: -
Traceback (most recent call last):
File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/api/lib_config.py", line 351, in __getattr__
self._update_configs()
File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/api/lib_config.py", line 287, in _update_configs
self._registry.initialize()
File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/api/lib_config.py", line 160, in initialize
import_func(self._modname)
File "/base/data/home/apps/b~neuralnet-171308/20170628t204601.402294282540056750/appengine_config.py", line 18, in <module>
vendor.add('lib')
File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/ext/vendor/__init__.py", line 44, in add
'No such virtualenv or site directory' % path)
ValueError: virtualenv: cannot access lib: No such virtualenv or site directory
最初是 appengine_config.py 包含: -
from google.appengine.ext import vendor
vendor.add('lib')
如下所示,我将其更改为当前文件。
我使用gcloud app deploy
部署项目。我不明白如何使用gcloud_sql_proxy
进行部署。
我确定在与app.yaml
同一目录中具有lib
文件夹。我不知道我在做什么错。感谢任何帮助或建议。
此处提到的先前配置似乎是正确的。如此示例应用程序所示,尝试使用PIP安装依赖项:
pip install -t lib -r requirements.txt
在云外壳中的app的根目录中运行以下命令。
PIP install -T lib -r Enesuble.txt
尝试添加
libraries:
- name: django
version: "1.11"
到您的app.yaml文件。