【问题标题】:Pythonpath on Mac OSXMac OSX 上的 Pythonpath
【发布时间】:2011-10-28 18:21:36
【问题描述】:

我通读了Add to python path mac os x,我认为这样做是个好主意,但对于open(filename, mode) 的简单调用,IDLE 仍然给我一个语法错误,所以我看得更远一点,我发现我能够按照http://developer.apple.com/library/mac/#qa/qa1067/_index.html 中的说明进行操作,并在 .MacOSX 文件夹中设置 environment.plist,所以我在主目录中执行了此操作,但仍然没有任何更改……我现在迷路了 :-)

这就是我在 .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

【问题讨论】:

  • <pre></pre> 之间放置准确和完整的回溯和错误,这样我们就可以准确地看到可能是什么问题。另外,添加几行上下文 - 通常错误位于检测到错误的 before 行之一。

标签: python macos syntax-error pythonpath


【解决方案1】:

PYTHONPATH 不会影响您是否获得SyntaxError - 只有ImportError。因此,如果您收到SyntaxError,则您的代码还有另一个问题。请把代码贴出来,我们会指出来的。

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

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

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

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

有关装饰器的更多信息,请参阅function definitions 的文档。

【讨论】:

  • k,不知道,在网上找了一下,发现有类似问题的人,他们不得不设置一个pythonpath
  • 这更像是一个评论而不是一个答案。
  • omg ...谢谢,请记住这一点...我必须更准确地阅读操作方法
猜你喜欢
  • 2016-08-06
  • 1970-01-01
  • 1970-01-01
  • 2013-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-25
  • 2014-07-25
相关资源
最近更新 更多