在Ubuntu上安装Python 2.7.5,MAXREPEAT

时间:2013-09-19 12:55:25

标签: python ubuntu python-2.7

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

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

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: cannot import name 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可用?

哈努哈利

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

make configure -prefix=$HOME/mypython`

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

答案 2 :(得分:0)

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

就我而言,似乎Python引用了错误的位置,但不支持MAXREPEAT。