2010-06-11 5 views
0
main:. 
├─a 
│  ├─__init__.py 
│  └─aa.py 
├─b 
│  ├─__init__.py 
│  └─bb.py 
└─cc.py 

내가 aa.py에있는 경우 cc.py를 가져 오는 방법은 무엇입니까? gae-python에서 상위 모델을 가져 오는 방법

내 코드이지만 오류입니다 : 내가 무엇을해야

from main import cc 

.

:
import os,sys 
dirname=os.path.dirname 
path=os.path.join(dirname(dirname(__file__))) 
sys.path.insert(0,path) 
import cc 
print cc.c 

하지만 GAE에

, 그것은 오류를 보여

감사

, 나는이 코드를 사용할 수 있습니다 (하지 GAE)에 일반 파이썬 파일에

업데이트

ImportError: No module named cc 

답변

0

내가 보여준 코드가 어떻게 이해가 안 되니? 당신을 위해 아마도 실패 할 수 있습니다. 여기

$ ls -lR 
total 32 
-rw-r--r-- 1 aleax staff 0 Jun 10 21:20 __init__.py 
drwxr-xr-x 4 aleax staff 136 Jun 10 21:28 a 
[email protected] 1 aleax staff 107 Jun 10 21:27 app.yaml 
-rw-r--r-- 1 aleax staff 21 Jun 10 21:20 cc.py 
-rw-r--r-- 1 aleax staff 471 Jun 10 21:25 index.yaml 
-rw-r--r-- 1 aleax staff 75 Jun 10 21:20 main.py 

./a: 
total 8 
-rw-r--r-- 1 aleax staff 0 Jun 10 21:20 __init__.py 
-rw-r--r-- 1 aleax staff 130 Jun 10 21:20 aa.py 

가 비어 있지 않은 파이썬 파일입니다 : 당신의 문제를 재현하려고, 나는 다음과 같은 깎았 - 투 - 뼈 프로젝트를 구축 예측으로는 잘, (보여주는 실행됩니다

$ for f in main.py cc.py a/aa.py; do echo "File: $f"; cat $f; echo; done 
File: main.py 
print 'Content-Type: text/plain' 
print '' 
print 'in main' 
from a import aa 

File: cc.py 
print 'in cc' 
c = 23 

File: a/aa.py 
import os, sys 
dirname=os.path.dirname 
path=os.path.join(dirname(dirname(__file__))) 
sys.path.insert(0,path) 
import cc 
print cc.c 
$ 

)이 SDK에서 로컬로 실행 때 appspot.com에서 구글의 서버에서 실행할 때 모두 :

in main 
in cc 
23 

그래서 당신이 우리를 표시하지 않는 코드의 부분에 다른 오류가 있어야합니다. 이 작은 프로젝트를 재현하여 로컬 및 appspot.com에서 시도하고이를 어떻게 작동하는지 (또는 실패했는지 ...?) 알려주십시오.

관련 문제