我的python不起作用

时间:2013-04-29 16:21:48

标签: python

我不小心替换了位于/ usr / local / bin /的python二进制文件。从那以后,我无法运行任何python脚本甚至运行python的交互模式。

$ python
Traceback (most recent call last):
  File "/usr/lib/python2.7/site.py", line 562, in <module>
    main()
  File "/usr/lib/python2.7/site.py", line 544, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/lib/python2.7/site.py", line 271, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/lib/python2.7/site.py", line 246, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/lib/python2.7/site.py", line 236, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/lib/python2.7/sysconfig.py", line 558, in get_config_var
    return get_config_vars().get(name)
  File "/usr/lib/python2.7/sysconfig.py", line 457, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/usr/lib/python2.7/sysconfig.py", line 303, in _init_posix
    makefile = _get_makefile_filename()
  File "/usr/lib/python2.7/sysconfig.py", line 297, in _get_makefile_filename
    return os.path.join(get_path('platstdlib').replace("/usr/local","/usr",1), "config" + (sys.pydebug and "_d" or ""), "Makefile")
AttributeError: 'module' object has no attribute 'pydebug'

我已经看到“AttributeError:'module'对象没有属性'pydebug'”的相关问题,但我仍然无法弄清楚如何解决这个问题。

当我尝试重新安装时出现同样的错误:

$ sudo apt-get install python2.7-minimal
[sudo] password for : 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python2.7-minimal is already the newest version.
The following packages were automatically installed and are no longer required:
  libgsasl7 libmailutils2 libntlm0
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 402 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Setting up python2.7-minimal (2.7.1-5ubuntu2.2) ...
Traceback (most recent call last):
  File "/usr/lib/python2.7/site.py", line 562, in <module>
    main()
  File "/usr/lib/python2.7/site.py", line 544, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/lib/python2.7/site.py", line 271, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/lib/python2.7/site.py", line 246, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/lib/python2.7/site.py", line 236, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/lib/python2.7/sysconfig.py", line 558, in get_config_var
    return get_config_vars().get(name)
  File "/usr/lib/python2.7/sysconfig.py", line 457, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/usr/lib/python2.7/sysconfig.py", line 303, in _init_posix
    makefile = _get_makefile_filename()
  File "/usr/lib/python2.7/sysconfig.py", line 297, in _get_makefile_filename
    return os.path.join(get_path('platstdlib').replace("/usr/local","/usr",1), "config" + (sys.pydebug and "_d" or ""), "Makefile")
AttributeError: 'module' object has no attribute 'pydebug'
dpkg: error processing python2.7-minimal (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of python2.7:
 python2.7 depends on python2.7-minimal (= 2.7.1-5ubuntu2.2); however:
  Package python2.7-minimal is not configured yet.
dpkg: error processing python2.7 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libpython2.7:
 libpython2.7 depends on python2.7 (= 2.7.1-5ubuntu2.2); however:
  Package python2.7 is not configured yet.
dpkg: error processing libpython2.7 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of python2.7-dev:
 python2.7-dev depends on python2.7 (= 2.7.1-5ubuntu2.2); however:
  Package python2.7 is not configured yet.
 python2.7-dev depeNo apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                                             No apport report written because the error message indicates its a followup error from a previous failure.
                                                                          No apport report written because MaxReports is reached already
                                                                                                                                        nds on libpython2.7 (= 2.7.1-5ubuntu2.2); however:
  Package libpython2.7 is not configured yet.
dpkg: error processing python2.7-dev (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python2.7-minimal
 python2.7
 libpython2.7
 python2.7-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)

3 个答案:

答案 0 :(得分:4)

问题在于您正在点击/usr/local/bin/python而不是/usr/bin/python

您可以通过运行类似...

的方式将其移开
mv /usr/local/bin/python /usr/local/bin/python.old

...以root身份,或者如果您确定不需要它,那么只需将其删除...

rm /usr/local/bin/python

如果bash仍然尝试运行/usr/local/bin/python,并且正在运行type python打印...

python is hashed (/usr/local/bin/python)

...然后执行hash -r清除哈希表。

/usr/bin/python复制到/usr/local/bin/python并不是一个好主意,否则下次使用apt-get upgrade更新python时可能会遇到问题,即它会更新/usr/bin/python ,但默认情况下仍会运行/usr/local/bin/python

答案 1 :(得分:2)

看起来这与专门用于调试的Python构建有关。

我建议您使用apt-get重新安装Python:

sudo apt-get install --reinstall python2.7

您的问题似乎与this SO question about sys.pydebug

相同

答案 2 :(得分:0)

你必须重新安装。 这是一个更好的解决方案。 这是我在Ubuntu上使用终端安装的favourite。 尝试: Install Python and cherrypy

你看看这个问题的答案

  

Installation python

相关问题