当我尝试访问应用程序根目录下的lib目录内的库时,出现ImportError错误。如何从Python Google App Engine中的模块访问自营库?
我的确在documentation必要的步骤,它只有一个模块的工作,但一旦我搬到了多个模块,该目录结构就不再起作用:
<app root>
|
+-- appengine_config.py
|
+-- lib
|
+-- modules
+-- module1
|
+-- module2
在我appengine_config.py我添加line:vendor.add(os.path.join(os.path.dirname(__file__), 'lib'))
对这里可能发生的事情有任何想法?
编辑: 此目录结构,似乎为我工作:
<app root>
|
+-- lib
|
+-- module1
| +-- appengine_config.py
| |
| +-- app.yaml
| |
| +-- lib <symlink to app root lib>
+-- module2 (same as module 1)
我认为appengine_config.py是在主应用程序级别定义的东西,而不是在模块级。在每个模块中复制相同的确切文件和sym链接是否正确?
您的模块的“.yaml”文件位于何处?我的意思是你是否遵循doc中的第1或第2个应用程序结构建议:https://cloud.google.com/appengine/docs/python/modules/#Python_Configuration –
顶层yaml文件,如'queue.yaml', 'cron.yaml'等位于app根目录,而'app.yaml'文件位于'modules/module1','modules/module2'目录中。我主要关注第一个应用程序结构,但将所有模块嵌套在模块目录中。对于命名混淆,很抱歉,它可能与您的标准Python模块混淆。 – user5831382