2013-03-08 3 views
0

저는 Eclipse와 PyDev를 사용하여 Kivy라는 Python 라이브러리를 개발 중입니다.Pydev + Kivy - 빈 __init__ 파일

올바른 설정 지침을 통해 실행되었고 Eclipse에서 완벽하게 작동하고 개발되었습니다.

I, 이상 namley, 내 프로젝트 동료, (프롬프트 cmd 만든 kivy를 통해) 일식의 주요 방법 바깥 들어있는 파일을 실행하려고하면

그러나, 그것은 다음과 같은 오류와 함께 제공 :

File "C:\MyProject\code\main.py", line 8, in <module> 
    from code import engine 
ImportError: cannot import name engine 

파일의 코드는 기본적으로 :

from kivy.app import App 
from kivy.clock import Clock 
from kivy.uix.screenmanager import ScreenManager 
from code import engine 

class MyApp(App): 
    def build(self): 
     pass 

if __name__ == '__main__': 
    MyApp.run() 

내가 내 프로젝트 파일에보고했다. 나는 초기화의 무리에게 평 파일

code/ 
    __init__.py 
    main.py 
    engine.py 
    system1/ 
     __init__.py 
     my_system.py 
etc... 

을 가지고 있지만 모든 초기화 평 파일은 비어 있습니다! 수동으로 구성해야합니까? 이클립스는 어느 시점에서이를 수행해야합니다. PyDev에서 자동으로 수행 할 수 있습니까?

+0

PyDev는 가져올 이름과 그렇지 않은 것을 어떻게 구분해야합니까? –

+0

파일 구조를 기반으로합니다. 맞습니까? 내가 가지고있는 패키지와 모듈 – MintyAnt

답변

1

비어있는 __init__.py 파일은 Python 패키지 (버전 3.2까지)에 필요하며 디렉토리를 Python 패키지로, 그리고 그 내용을 모듈/하위 패키지로 지정합니다.

당신이 그들을 만들지 않았다면, PyDev는 당신을 위해 그들을 창조했습니다 - 그리고 아무것도 포함 할 필요가 없습니다.

당신의 동료 code.engine이 asstated 가져올 수없는 경우

, 그것은 가능성 자체가 파이썬의 경로 (PYTHONPATH 환경 변수)의 일부가 아닌 code이 들어있는 디렉토리를이 잘된 - 그래서 코드 패키지에 내려 않는 곳에서 찾을 수 없습니다.

+1

또는'code.py'아래의 한 디렉토리에서 main.py를 실행하면된다 :'engine.py'가'system1'을 사용하는 방법에 따라'python code/main.py'가된다. – Scharron

+0

아, 더 의미가있다. @ Scharron은 그 일을했습니다. 몇 가지 더 많은 오류가 뒤 따르지만 메인 디렉토리에서 실행 중입니다. ../main이 아닙니다! – MintyAnt