如何在app引擎上进行相对导入? (蟒蛇)

时间:2014-05-27 20:30:55

标签: python google-app-engine

我尝试使用python在App Engine中进行相对导入。这是我的基本情况:

app/
     models.py
     app.yaml
     /mymodule/
         test.py
         mymodule.yaml

我试图导入models.py ..基本上我有相同的数据存储模型正在不同的模块中使用,所以我希望能够从test.py中导入models.py(或者任何其他模块)。

相对导入如何与App Engine配合使用?谢谢。

修改:我的app.yaml文件:

application: [my app name]
version: main
runtime: python27
api_version: 1
threadsafe: true

inbound_services:
- mail

builtins:
- appstats: on

handlers:

    [my handlers]

libraries:
- name: webapp2
  version: "2.5.1"

- name: jinja2
  version: latest

- name: markupsafe
  version: latest

- name: ssl
  version: latest

2 个答案:

答案 0 :(得分:3)

我认为解决方案是将mymodule.yaml放在app下。似乎PYTHONPATH中代码的根目录是模块的yaml文件所在的目录。

答案 1 :(得分:2)

在名为__init__.pyapp下创建一个空文件,将您的目录转换为包,然后您就可以导入:

from app import models

您可能还想将同一个文件添加到mymodule目录中。