在Ubuntu上安装Python 2.7.5,MAXREPEAT

Python 2.7.5 installation on Ubuntu, MAXREPEAT

这已被问过几次,但答案对我来说没有任何意义。我有Ubuntu 12.04并且必须将Python从默认值(2.7.3?)升级到2.7.5以获得我可以用来编译modwsgi的库。

我获得了2.7.5个源,配置了--enable-shared,make和installed。无法构建一些过时的太阳音频等库,但其他安装工作已经完成。除了它不起作用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
visti@ubuntu:~$ python
Traceback (most recent call last):
  File"/usr/local/lib/python2.7/site.py", line 548, in <module>
    main()
  File"/usr/local/lib/python2.7/site.py", line 530, in main
    known_paths = addusersitepackages(known_paths)
  File"/usr/local/lib/python2.7/site.py", line 266, in addusersitepackages
    user_site = getusersitepackages()
  File"/usr/local/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
  File"/usr/local/lib/python2.7/site.py", line 231, in getuserbase
    USER_BASE = get_config_var('userbase')
  File"/usr/local/lib/python2.7/sysconfig.py", line 516, in get_config_var
    return get_config_vars().get(name)
  File"/usr/local/lib/python2.7/sysconfig.py", line 449, in get_config_vars
    import re
  File"/usr/local/lib/python2.7/re.py", line 105, in <module>
    import sre_compile
  File"/usr/local/lib/python2.7/sre_compile.py", line 14, in <module>
    import sre_parse
  File"/usr/local/lib/python2.7/sre_parse.py", line 17, in <module>
    from sre_constants import *
  File"/usr/local/lib/python2.7/sre_constants.py", line 18, in <module>
    from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT

这里建议的解决方案ubuntu ImportError:无法导入名称MAXREPEAT是重新配置"virtualenv",无论它是什么。 / usr / local / bin有一个名为virtualenv的古老脚本,但它也试图运行python并且不起作用。

有人建议问题可能与使用旧的Python模块有关,因为2.7.4中出现了MAXREPEAT。为了解决这个问题,我用rm -rf删除了与Python相关的所有东西(/ usr / bin / python *,/ usr / lib / python *,/ usr / local / lib / python *,/ usr / local / bin / python *,做了干净,制作,安装到2.7.5。

结果仍然相同。现在我不再使用Python的工作版本了。有没有办法解决这个问题,还是应该尝试重新安装Ubuntu Python软件包,如果它们有2.7.5可用?

汉努


刚刚与同样的问题作斗争。结束删除整个/usr/local/lib/python2.7安装路径只是为了回到以前的工作版本。

另外一定要删除/usr/local/lib/python2.7-config,然后重新安装python。无论如何,为我工作。


我修复此问题的方法是在系统中搜索sre_constants.py文件的其他实例。然后查看您的用户或系统$PATH中是否引用了这些文件的位置。如果是这样,请从$PATH中删除该位置配置。重新运行python,看看是否修复了它。

在我的例子中,似乎Python引用了错误的位置,它不支持MAXREPEAT。


当你将libpython.so版本与python解释器版本混合搭配时,通常会发生这种情况。如果您的安装路径没有帮助,请检查这些环境变量。
$PYTHONHOME $PYTHONINCLUDE $PYTHONLIB $PYTHONLIBSTATIC $PYTHONPATH
确保他们指出的内容都被删除了。然后重新安装。

您还可以尝试将python安装到主目录,方法是将-prefix变量配置为指向主目录。

1
make configure -prefix=$HOME/mypython`

然后确保将上面的变量设置为python所在的新主目录。