2013-03-23 2 views
1

필자는 특정 유형의 파일을 자동으로 처리하기 위해 사용하려는 작은 Python 스크립트를 작성했습니다. 따라서, .app을 작성하여 자동으로 특정 파일을 열 수 있도록 설정할 수 있습니다.오리너구리와 관련된 이상한 문제 (스크립트에서 .app 패키지 만들기)

그래서 나는 주위를 둘러 보았고 내가 원하는 것을하는 것처럼 보이는 오리새스를 발견했습니다.

그러나 이상하게 작동하지 않습니다. 특히, 올바른 파이썬 인터프리터를 찾지 못하는 것 같습니다. 나는 다음과 같이 설정 :

enter image description here

즉, 스크립트 유형이 env 그래서 그냥 쉘이하는 것처럼 파일의 맨 윗줄을 읽어야합니다.

magic.py에서 맨 윗줄은 #!/usr/bin/env python2.7입니다.

이제 명령 줄 (즉, ~/devel/magic.py whatever)에서 셸 스크립트를 실행하면 모든 것이 올바르게 작동합니다. 하지만 내가 가진 응용 프로그램, 그것은 오류 실행하면

Traceback (most recent call last): 
    File "/Users/jan/Dropbox/devel/Magic.app/Contents/Resources/script", line 8, in <module> 
    from bencode import * 
ImportError: No module named bencode 

명령 줄에서 실행할 때 같은 가져 오기가 잘 작동을, 그래서 어떻게 든 잘못된 인터프리터를 사용하고 생각하고 있어요. 어떻게 수정하거나 디버깅 할 수 있습니까?

답변

3

bencode 모듈에서 가져 오기를 시도했지만 응용 프로그램 번들 리소스에 추가하지 않았습니다. 포함 된 파일 목록으로 끌어다 놓거나 다시 내보내거나 패키지의 내용에있는 resources 폴더로 복사하십시오.

+0

하지만 패키지가 시스템에 설치되었으므로 정상적으로 찾지 않아야합니까? – houbysoft

+0

그것은 무엇입니까? 나는'numpy'로 같은 것을 시도해 보았습니다. – Jared

+0

방금'/ Library/Frameworks/Python.framework/etc/etc /'에서 전체 패키지를 복사했는데 효과가있었습니다.하지만 그것은 매우 어리석은 디자인입니다. 왜 시스템 전체에 설치된 패키지를 복사해야합니까? – houbysoft

관련 문제