У меня есть два разных проекта в учетной записи Google. Структура папок в моем компьютере выглядит следующим образом:Определить общие файлы для проектов GAE
- parent_folder
- common_folder
- project1_folder
- project2_folder
У меня есть несколько классов питона в common_folder, что я хочу для использования в обоих проектах (project1 и project2).
Я хочу импортировать общие классы в мои проекты, поэтому Google App Engine распознает их также по производству окр (возможно GAE может создать копию общих файлов при загрузке?)
Я попытался с помощью следующего код для того, чтобы импортировать мой класс из конкретного пути родительского каталога:
import os
PARENT_DIR = os.path.dirname(os.path.dirname(__file__))
print PARENT_DIR
def load_src(name, fpath):
import os, imp
return imp.load_source(name, os.path.join(os.path.dirname(__file__), fpath))
load_src("globals", PARENT_DIR +"/common/globals.py")
from globals import *
Этот код работал только с моей LOCALHOST окружающей среды, но когда я загрузил его на GAE, он не признает класс:
> File
> "/base/data/home/apps/s~loan-management-system/1.394267205500555512/main.py",
> line 39, in load_src
> return imp.load_source(name, os.path.join(os.path.dirname(__file__), fpath)) IOError: [Errno 2] No
> such file or directory
Он работает. Благодарю. Я создал папку под названием «models» и внутри нее пустой файл __init__.py и все распространенные файлы python. Чем я создал символическую ссылку в своих проектах в этой папке. –