这个问题已经被问过几次,但答案对我来说都没有意义。我使用的是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可用?