3 개의 모듈과 lib 폴더가 포함 된 GAE 앱이 있습니다. lib 폴더에서 타사 라이브러리를 가져 오려고했습니다. GAE는 ImportError를 발생시킵니다.모듈 내에서 lib 폴더를 가져 오는 방법
./lib와 ./Module_1/lib 및 ./Module_2/lib을 기호로 연결하고 각 모듈에 appengine_config.py를 심볼릭 링크하여 작동시킬 수도 있습니다. 그러나 이것을하는 것은 정말 더러워 보였습니다.
module_1 및 module_2에서 app_root/lib를 가져 오는 더 명확한 방법이 있습니까?
이것은 유망한 것으로 보였지만 (https://cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Includes), include.yaml에 무엇을 넣어야할지 모릅니다. 내가 할
module_1.py 또는 module_2.py에서-- App Root/
-- Module_1/
module_1.yaml
module_1.py
-- Module_2/
module_2.yaml
module_2.py
-- lib/
-- cloudstorage/
..
-- 3rd_library_1/
..
..
-- 3rd_library_2/
..
..
appengine_config.py
main.py (default module)
app.yaml(default module)
queue.yaml
dispatch.yaml
는
import cloudstorage as gcs
은 그러나
ImportError: No module named cloudstorage
불평이 main.py에서 가져올 때, 그것을 잘 작동합니다. appengine_config.py에서
는 : module_1.py에
가
sys.path in main.py :
[
'/base/data/home/apps/s~my-app/2.381942946570489905',
'/base/data/home/apps/s~my-app/2.381942946570489905/lib',
...
...
]
의 sys.path :
[
'/base/data/home/apps/s~my-app/module_1:2.381942955973772449',
'/base/data/home/runtimes/python27/python27_dist/lib/python27.zip',
...
...
]
, 그래서 당신'lib' 폴더를해야 ... 쉽게 테스트/배포를 도와주는 메이크를 썼다 귀하의 모듈 내부에 있어야합니다. 심볼릭 링크를 만드십시오. –