Mac OSX上的Python路径
我看了关于如何在Mac OS X上添加Python路径的帖子,觉得这样做挺不错的。但是在IDLE里,我用open(filename, mode)
这个简单的调用时,还是出现了语法错误。于是我继续查找,发现可以按照这个链接里的说明,设置一个environment.plist文件在.MacOSX文件夹里。我在我的主目录下做了这个设置,但还是没有任何变化……现在我有点迷茫了:-)
这是我在.bash_profile里添加的python路径,以及在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
1 个回答
3
PYTHONPATH
这个环境变量并不会影响你是否会遇到 SyntaxError
(语法错误)——它只会影响 ImportError
(导入错误)。所以,如果你遇到了 SyntaxError
,说明你的代码还有其他问题。请把代码发出来,我们可以帮你找出问题所在。
补充说明:你的错误出现在这一行:
@app.route('/proPass', method ='POST')
@
符号表示一个装饰器,它只能放在函数定义(def
)、类定义(class
)或者另一个装饰器的前面那一行。
错误出现在 open
这一行的第一个字符,因为它在期待一个函数或类的定义。
想了解更多关于装饰器的信息,可以查看 函数定义 的文档。