2011-08-17 6 views
3

나는 Add to python path mac os x을 통해 읽었습니다. 그 일을하는 것이 좋습니다.하지만 여전히 IDLE은 open(filename, mode)이라는 간단한 호출에 대해 구문 오류가 발생하므로 조금 더 보았습니다. http://developer.apple.com/library/mac/#qa/qa1067/_index.html에 명시된대로해야하고 .MacOSX 폴더에 environment.plist를 설정해야합니다. 그래서 저는 집에 있었지만 여전히 변경이 없었습니다 ... 지금은 잃어버린 것 같습니다 :-)Mac OSX의 Pythonpath

그게 내가 추가 한 것 내 .bash_profile에 파이썬 경로와 (포함하지 않는 : $의 PYTHONPATH) : 내 environment.plist에서 동일한 경로

PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7:$PYTHONPATH" 
export PYTHONPATH 

편집 :나는 구문 오류를 얻을그게 전부는 ...

import xml.etree.ElementTree as et 
import json 

app = Bottle() 

@app.route('/proPass', method ='POST') 

#here happens here, need it further down in the code... which is not really relevant 
f = open('/Users/mohi/Desktop/proPass_project/server_service/systems.xml', 'rw') 

def getData(): 
    timestamp = request.POST.get('timestamp', '').strip() 
    data = request.POST.get('data', '').strip() 

    if timestamp: 
     processData(data, timestamp) 
run() 

오류 인터프리터에서 잘 작동합니다

File "proPass_script.py", line 9 
    f = open('/Users/mohi/Desktop/proPass_project/server_service/systems.xml', 'rw') 
    ^
    SyntaxError: invalid syntax 

+1

정확한 추적 및 오류를 '

' and '
'사이에 넣으십시오. 그러면 문제의 원인을 정확히 알 수 있습니다. 또한 몇 줄의 컨텍스트를 추가하십시오. 오류는 오류를 감지하는 __before__ 행 중 하나에있는 경우가 많습니다. – agf

답변

3

PYTHONPATH 당신이 SyntaxError를 얻을 수 있는지 여부에 영향을주지 않습니다 - 단지 ImportError. 따라서 SyntaxError이 발생하는 경우 코드에 또 다른 문제가 발생합니다. 코드를 게시 해주십시오.

편집 : 귀하의 오류가이 라인에 :

@app.route('/proPass', method ='POST') 

@는 장식을 지정, 즉시 함수 정의 (def), 클래스 정의 (class) 전에 라인에 대해서만 유효 또는 다른 데코레이터.

open 행의 첫 번째 문자에 오류가 표시됩니다. 여기에 함수 또는 클래스 정의가 필요하기 때문입니다.

장식가에 대한 자세한 정보는 function definitions에 대한 문서를 참조하십시오.

+0

k, 그걸 몰랐는데 그물 주위를 조금 보았다. 비슷한 문제가있는 사람들을 발견했다. 그들은 pythonpath를 설정해야만했다. – markus

+0

이것은 답이 아닌 주석이다. –

+0

@Shawn이 문제를 해결하기 위해 업데이트되었습니다. – agf