我正在使用Python3.7
运行时并使用命令将googlemaps
模块安装到lib
文件夹中
$ python -m pip --upgrade install -t lib/ googlemaps
它在当地运作良好。我将我的烧瓶项目部署到Google云中,我在appengine_config.py
中定义了供应商,如下所示:
import os
from google.appengine.ext import vendor
# Add any libraries installed in the "lib" folder.
vendor.add('lib')
vendor.add(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'lib'))
但是当项目部署在谷歌引擎上时,我收到此错误:
import googlemaps ModuleNotFoundError: No module named 'googlemaps'
有什么帮助吗?
你的lib
文件夹有__init__.py
吗?
它需要一个,因为lib
文件夹被视为一个包
https://docs.python.org/3/tutorial/modules.html#packages
但如果可以的话,你应该使用像@Dustin推荐的requirements.txt。我已经在python2环境中工作多年了,我的lib
文件夹已经变得笨拙。
Python 3.7是一个“惯用的”Python运行时。除此之外,它意味着您不需要将依赖项与应用程序捆绑在一起,就像您以前必须为2.7运行时所做的那样。
相反,您应该在其中指定包含名称的requirements.txt
文件,例如:
googlemaps==3.0.2
下次部署应用时,将依赖此依赖项。有关详细信息,请参阅“Specifying Dependencies”。