从MacPorts运行Python 2.7时出现MAXREPEAT问题

时间:2013-08-07 14:57:08

标签: python macos macports

我遇到了一些从MacPorts运行python2.7的问题。

以下是可用Python版本的列表:

$ sudo port select python
Available versions for python:
    none
    python25-apple
    python26-apple
    python27 (active)
    python27-apple

当我将python27设置为有效时(如上所述),运行python时出现以下错误:

$ sudo port select --set python python27
Selecting 'python27' for 'python' succeeded. 'python27' is now active.
$ python
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 548, in <module>
    main()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 530, in main
    known_paths = addusersitepackages(known_paths)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 266, in addusersitepackages
    user_site = getusersitepackages()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 241, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 231, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 516, in get_config_var
    return get_config_vars().get(name)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 449, in get_config_vars
    import re
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 105, in <module>
    import sre_compile
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_compile.py", line 14, in <module>
    import sre_parse
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_parse.py", line 17, in <module>
    from sre_constants import *
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sre_constants.py", line 18, in <module>
    from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT

我安装的端口版本是(根据sudo port installed):

python27 @2.7.5_1
python27 @2.7.5_1+universal (active)

我在运行python2.7时没有遇到上述错误,只有在shell中运行python时才会出现。

$ which python2.7
/opt/local/bin/python2.7

$ which python
/opt/local/bin/python

有什么建议吗?

感谢。

2 个答案:

答案 0 :(得分:1)

我刚刚经历过同样的问题。一个快速简便的解决方法是在〜/ .profile:

中添加别名
alias python='python2.7'

如果您还没有.profile文件,只需创建一个.profile文件。打开一个新的终端实例,python应该可以正常工作,没有错误。

答案 1 :(得分:0)

我遇到了同样的问题。似乎是可执行文件链接的问题,尤其是vim / MacVim。我通过讨论here来解决这个问题。

还有更多材料here

希望这有帮助。

最高