2014-08-28 2 views
1

python 용 웹웨어를 기반으로 한 python 웹 서비스가 있습니다. 이 응용 프로그램에는 기본적으로 전문화 된 기본 응용 프로그램의 확장 인 여러 "컨텍스트"가 있습니다. 이 중 다섯 가지가 있습니다. 오늘 추가 된 것은 오류를 던지고 있지만 다른 것들은 며칠 전에 덧붙였다.import ... as ... 'module'속성이 없습니다.

import MyModule as mv 

class Main(): 
    def __init__(self): 
     self.vendorcode = mv.id 

은 위의 코드는 모듈 속성 "id"이없는 말을 "self.vendorcode = mv.id"에서 오류가 발생합니다. 가져온 파일 "MyModule.py"에는 다음 내용이 포함되어 있습니다.

# config parameters 
id = 'TEST' 
code = 'test_c' 
name = 'test_n' 

파일에는 그 밖의 것이 없습니다.

왜이 설정은 네 개의 다른 하위 디렉토리, 일명 "컨텍스트"에서는 작동하지만이 마지막 설정에서는 작동하지 않습니까? 이것을 다른 방향으로 바꾸려면 무엇을 찾고 있어야합니까? 나는 파일 권한과 파일 char set type을 확인했다.

업데이트 : "ident"를 "ident"로 변경했지만 오류가 여전히 발생했습니다. 인쇄물을 사용하면 모듈 파일이 올바른지 확인합니다. 파이썬 2.4.3 인터프리터를 사용하면 파일이로드 된 것을 볼 수 있습니다. 아래 샘플에서 "TRANS"는 예상되는 반환 값입니다.

import MyModule as mv 

class MainTest: 
    def __init__(self): 
     self.vendorcode = mv.ident 

    def showme(self): 
     print self.vendorcode 

if __name__ == '__main__': 
    mt = MainTest() 
    mt.showme() 

보고 올바르게 너무 다음과 같이

>>> import MoluVendor as mv 
>>> print mv.ident 
TRANS 
>>> 

그래서 나는 직접 인 MyModule과의 파일로 저장, 빠른 테스트를 썼다. 따라서 수입은 단순한 경우에 효과적입니다.

나를 괴롭히는 것은 "MyModule.py"를 포함하여 4 개의 다른 파일 세트가 제대로 작동한다는 것입니다. 나는 코드와 코드를 비교했는데 차이점을 발견 할 수 없었다. 이 모든 파일 세트는 Apache에서 deamon으로 실행되는 하나의 앱에 의해 호출됩니다. 그런 이유로, 오직 하나의 일을하는 것이 당혹 스럽습니다.

+0

당신은 당신이 가져올 파일이 아닌'MyModule.py' 파일을 찾을 수 있습니다. 해당 값을 가진 파일이 가져온 파일입니까? – BrenBarn

+0

'Print MyModule .__ file__'을 시도해보십시오 - 올바른 모듈을 가지고 있는지 알려줄 것입니다. 그리고 id를 다른 것으로 바꾸기 위해서는 파이썬 함수가 내장되어 있어야합니다. – tdelaney

+0

문제점을 발견했습니다. 아래 답변을 참조하십시오. (나는 대답을 게시하는 것이 올바른 일이라고 희망한다) – Mophilly

답변

0

나는 관련된 파일들을 살펴보고 각각 gremlins를 검사했다. 즉, 파일이 ASCII, 유니 코드 또는 포함 된 문자가 아닌지 확인한 다음 허용 가능한 코드 페이지 사양을 사용하여 파일을 저장했습니다. 앱을 새로 고침하고 모든 기능이 작동합니다.

그래서 결국 의자와 키보드 사이에 문제가있었습니다. 새로운 "컨텍스트"에 대한 응용 프로그램 파일을 수정했을 때, 나는 (분명히) 적절한 형식으로 파일을 저장하는 것을 게을리했습니다.

관련 문제