0
App Engine에서 실행되는 Flask 기반 애플리케이션의 단위 테스트를 작성하고 있습니다.App Engine 모듈 가져 오기 문제
는 documentation 당, 나는 다음과 같은 라인
import sys
sys.path.insert(1, '/Users/vinay/tools/google_appengine')
sys.path.insert(1, '/Users/vinay/tools/google_appengine/lib/yaml/lib')
sys.path.insert(1, '/Users/vinay/App-Engine/zion-alpha/lib')
여기에 전체 테스트 파일이
을 포함했다.import sys
sys.path.insert(1, '/Users/vinay/tools/google_appengine')
sys.path.insert(1, '/Users/vinay/tools/google_appengine/lib/yaml/lib')
sys.path.insert(1, '/Users/vinay/App-Engine/zion-alpha/lib')
from pprint import pprint
pprint(sys.path)
from google.appengine.ext import ndb
from webtest import TestApp
from app import create_app
from Tests.base_test import TestBase
app = TestApp(create_app())
class AppTest(TestBase):
def test_index(self):
response = app.get('/')
self.assertEqual(response.content_type, 'text/plain')
self.assertEqual('Hello World', response.body)
이 스크립트를 실행할 때 다음 오류가 발생합니다.
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Applications/PyCharm.app/Contents/helpers/pycharm/utrunner.py /Users/vinay/App-Engine/zion-alpha/Tests/handler_tests.py true
Testing started at 10:31 AM ...
Traceback (most recent call last):
File "/Applications/PyCharm.app/Contents/helpers/pycharm/utrunner.py", line 121, in <module>
modules = [loadSource(a[0])]
File "/Applications/PyCharm.app/Contents/helpers/pycharm/utrunner.py", line 43, in loadSource
module = imp.load_source(moduleName, fileName)
File "/Users/vinay/App-Engine/zion-alpha/Tests/handler_tests.py", line 10, in <module>
from google.appengine.ext import ndb
ImportError: No module named appengine.ext
['/Users/vinay/App-Engine/zion-alpha/Tests',
'/Users/vinay/App-Engine/zion-alpha/lib',
'/Users/vinay/tools/google_appengine/lib/yaml/lib',
'/Users/vinay/tools/google_appengine',
'/Library/Python/2.7/site-packages/python_gflags-2.0-py2.7.egg',
'/Library/Python/2.7/site-packages/xunitparser-1.3.3-py2.7.egg',
'/Library/Python/2.7/site-packages/setuptools-20.6.7-py2.7.egg',
'/Library/Python/2.7/site-packages',
'/Users/vinay/tools/google_appengine/lib/apiclient',
'/Users/vinay/tools/google_appengine/lib/markupsafe-0.15',
'/Users/vinay/tools/google_appengine/lib/concurrent',
'/Users/vinay/tools/google_appengine/lib/distutils',
'/Users/vinay/tools/google_appengine/lib/httplib2',
'/Users/vinay/tools/google_appengine/lib/fancy_urllib',
'/Users/vinay/tools/google_appengine/lib/oauth2client',
'/Users/vinay/tools/google_appengine/lib/cacerts',
'/Users/vinay/tools/google_appengine/lib/requests',
'/Users/vinay/tools/google_appengine/lib/cherrypy',
'/Users/vinay/tools/google_appengine/lib/ipaddr',
'/Users/vinay/tools/google_appengine/lib/prettytable',
'/Users/vinay/tools/google_appengine/lib/grizzled',
'/Users/vinay/App-Engine/zion-alpha/lib',
'/Users/vinay/tools/google_appengine/lib/rsa',
'/Users/vinay/tools/google_appengine/lib/oauth2',
'/Users/vinay/tools/google_appengine/lib/pyasn1',
'/Users/vinay/tools/google_appengine/lib/sqlcmd',
'/Users/vinay/tools/google_appengine/lib/webob-1.2.3',
'/Users/vinay/tools/google_appengine/lib/antlr3',
'/Users/vinay/tools/google_appengine/lib/jinja2-2.6',
'/Users/vinay/tools/google_appengine/lib/endpoints-1.0',
'/Users/vinay/tools/google_appengine/lib/graphy',
'/Users/vinay/tools/google_appengine/lib/websocket',
'/Users/vinay/tools/google_appengine/lib/google-api-python-client',
'/Users/vinay/tools/google_appengine/lib/setuptools-0.6c11',
'/Users/vinay/tools/google_appengine/lib/yaml-3.10',
'/Users/vinay/tools/google_appengine/lib/docker',
'/Users/vinay/tools/google_appengine',
'/Users/vinay/tools/google_appengine/lib/mox',
'/Users/vinay/tools/google_appengine/lib/django-1.9',
'/Users/vinay/tools/google_appengine/lib/six',
'/Users/vinay/tools/google_appengine/lib/webapp2-2.5.2',
'/Users/vinay/tools/google_appengine/lib/deprecated_enum',
'/Users/vinay/tools/google_appengine/lib/portpicker',
'/Users/vinay/tools/google_appengine/lib/argparse',
'/Users/vinay/tools/google_appengine/lib/uritemplate',
'/Users/vinay/tools/google_appengine/lib/protorpc-1.0',
'/Users/vinay/tools/google_appengine/lib/PyAMF-0.7.2',
'/Users/vinay/tools/google_appengine/lib/simplejson',
'/Users/vinay/App-Engine/zion-alpha',
'/Users/vinay/tools/google_appengine/lib/PyAMF-0.6.1',
'/Users/vinay/tools/google_appengine/lib/pyasn1_modules',
'/Users/vinay/tools/google_appengine/lib/python-gflags',
'/Applications/PyCharm.app/Contents/helpers/pycharm',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/var/root/Library/Python/2.7/lib/python/site-packages',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
'/Library/Python/2.7/site-packages']
Process finished with exit code 1
패키지는 올바른 위치에 있습니다.
bash-3.2$ ls
google_appengine google_appengine_1.9.40.zip
bash-3.2$ pwd
/Users/vinay/tools
bash-3.2$
패키지가 올바른 위치에 있습니다. 질문에 대한 업데이트를 참조하십시오. –