在Mac OSX上的Pythonpath

3
我阅读了Add to python path mac os x,我认为这是个好主意。但是,即使我使用一个简单的open(filename, mode)调用,IDLE仍然给我一个语法错误。所以我深入研究了一下,发现我可以像http://developer.apple.com/library/mac/#qa/qa1067/_index.html中所述,在.MacOSX文件夹中设置environment.plist文件,因此我在我的home目录中做了这个操作,但仍然没有任何变化......我现在很迷茫:-)
这是我在.bash_profile和我的environment.plist中添加的python路径(不包括:$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


1
将完整的回溯和错误信息放在<pre></pre>之间,这样我们就可以看到可能存在的问题。此外,添加一些上下文行--通常错误是在检测到错误之前的某一行。 - agf
1个回答

3

PYTHONPATH 不会影响是否出现 SyntaxError,只会影响是否出现 ImportError。因此,如果出现了 SyntaxError,则表示您的代码存在其他问题。请发布代码,我们将指出问题所在。

编辑:您的错误位于此行:

@app.route('/proPass', method ='POST')
@代表装饰器,只能在函数定义(def)、类定义(class)或另一个装饰器之前的行上使用。
它在open行的第一个字符上显示错误, 因为它期望在那里有一个函数或类定义。
有关装饰器的更多信息,请参阅函数定义文档。

K, 不知道那个,我在网上搜索了一下,发现有些人有类似的问题,他们不得不设置一个Python路径。 - markus
这更像是一条评论而不是一个答案。 - Shawn Chin
哦,谢谢,我会记住的...我必须更仔细地阅读操作指南。 - markus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接