在Ubuntu上安装Python 2.7.5,MAXREPEAT

4

这个问题已经被问过几次,但答案对我来说都没有意义。我使用的是Ubuntu 12.04,不得不升级Python版本(从默认的2.7.3?)到2.7.5,以获取我可以用来编译modwsgi的库。

我获取了2.7.5源代码,并使用--enable-shared参数进行配置、编译和安装。除了一些过时的sun音频等库无法构建之外,安装过程基本顺利。但是它不工作:

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模块有关,因为MAXREPEAT出现在2.7.4中。为了解决这个问题,我使用rm -rf删除了与Python相关的所有内容(/usr/bin/python*,/usr/lib/python*,/usr/local/lib/python*,/usr/local/bin/python*),进行了make clean,make,make install到2.7.5。
仍然是同样的结果。现在我没有一个可用的Python版本了。有没有办法修复这个问题,或者我应该尝试重新安装Ubuntu Python软件包,看看它们是否有2.7.5可用?

3个回答

2

我曾经遇到过同样的问题。最终只能删除整个/usr/local/lib/python2.7安装路径才能回到之前的工作版本。

另外,请确保删除/usr/local/lib/python2.7-config,然后重新安装Python。对我来说有效。


0
通常情况下,这种情况发生在您混合使用 libpython.so 版本和 Python 解释器版本时。如果清除安装路径没有帮助,请检查以下环境变量。 $PYTHONHOME $PYTHONINCLUDE $PYTHONLIB $PYTHONLIBSTATIC $PYTHONPATH 确保它们指向的内容也都被删除了。然后重新安装。
您还可以尝试将 Python 安装到主目录中,通过配置 -prefix 变量来指向主目录。
make configure -prefix=$HOME/mypython`

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


0
我解决这个问题的方法是在系统中搜索sre_constants.py文件的其他实例。 然后查看这些文件的位置是否在用户或系统$PATH中引用。 如果是,请从您的$PATH中删除此位置配置。 重新运行Python以查看是否修复了它。
在我的情况下,似乎Python引用了不支持MAXREPEAT的错误位置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接