gpt4 book ai didi

python - 在不同模块之间共享 models.py 文件的方法?

转载 作者:太空宇宙 更新时间:2023-11-04 06:00:54 25 4
gpt4 key购买 nike

我有一个包含多个模块的 GAE 应用程序,每个模块都在自己的文件夹中,如下所示:

/app_root
app.yaml
/module_1
module_1.yaml
/module_2
module_2.yaml
/module_3
module_3.yaml

现在每个模块都有自己的 models.py 文件,但是有些模块访问相同的数据存储种类,如果我改变种类,我必须手动更新 models.py 每个模块中的文件(如有必要)。有没有办法做这样的事情:

/app_root
app.yaml
/models
models.py
__init__.py
/module_1
module_1.yaml
get_index_size.py
__init__.py
/module_2
module_2.yaml
__init__.py
/module_3
module_3.yaml
__init__.py

做相对进口?在我的一个模块中,我尝试了这段代码:

sys.path.append(os.path.dirname(os.getcwd()))

要添加父目录,但是当我尝试时出现 ImportError:

from models import models

完整回溯:

Traceback (most recent call last):
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 239, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 298, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 84, in LoadObject
obj = __import__(path[0])
File "/base/data/home/apps/[app_id]/search:main.377708108929972632/get_index_size.py", line 13, in <module>
from models import models

App Engine 上的文件夹结构似乎与本地的不同,因此虽然我可以附加路径并在我的 dev_appserver 上导入,但我无法在生产环境中执行此操作。有任何想法吗?谢谢。

最佳答案

尝试将 __init__.py 文件添加到您的模型文件夹中。这样 Python 就知道它是一个命名空间。

关于python - 在不同模块之间共享 models.py 文件的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25105284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com