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 (/usr/bin/python*, /usr/lib/python*, /usr/local/lib/python*, /usr/local/bin/python*,做了清洁,制作,安装到2.7.5。

结果还是一样。现在我不再有 Python 的工作版本了。有什么办法可以解决这个问题,或者如果 Ubuntu Python 包有 2.7.5 可用,我应该尝试重新安装它们吗?

汉努

4

3 回答 3

2

刚刚解决了同样的问题。最终删除了整个 /usr/local/lib/python2.7 安装路径,只是为了回到以前的工作版本。

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

于 2013-10-04T19:11:18.997 回答
0

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

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

make configure -prefix=$HOME/mypython`

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

于 2013-10-04T19:19:52.560 回答
0

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

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

于 2013-10-24T17:55:36.480 回答