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 ,所以我在我的主目录中这样做了,但仍然没有任何变化...我现在迷路了:-)

这就是我在 .bash_profile 中作为 python-path 添加的内容,在 environment.plist 中添加了相同的路径(没有 :$PYTHONPATH):

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

4

1 回答 1

3

PYTHONPATH不会影响您是否获得SyntaxError- 只有一个ImportError. 所以,如果你得到一个SyntaxError,你的代码还有另一个问题。请张贴代码,我们会指出来。

编辑:您的错误在这一行:

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

指定一个装饰器@,它仅在函数定义 ( def)、类定义 ( class) 或另一个装饰器之前的行上有效。

它在该行的第一个字符上显示错误,open因为它需要一个函数或类定义。

有关装饰器的更多信息,请参阅函数定义文档。

于 2011-08-17T09:26:32.213 回答