运行 Ubuntu 12.04,我安装了通常的 python 2.7。
我需要 python 2.6 ,所以我下载了源代码并做了
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
一个错误,因为我不想替换我的系统范围的 python 。现在一些程序停止工作,例如更新管理器
ImportError: No module named gi.repository
Run Code Online (Sandbox Code Playgroud)
我使用 update-alternatives 再次将 python 2.7 设为默认值,但是由于缺少某些模块,许多 python 应用程序仍然无法启动。
有人可以提示发生了什么以及解决它的最佳方法是什么?
提前致谢。
编辑 :
我可以通过将我自己的硬链接从 /etc/python 设置为 /etc/python2.7 来获得 apt-get 的一些功能。(所以我想使用 update-alternatives 确实没有多大好处。)我做了一个 dist-upgrade ,它基本上有效,但是通过 apt-get 管理的很多包仍然损坏。特别是,python-minimal的问题阻止了我想做的许多其他软件包的安装。
Setting up python-minimal (2.7.3-0ubuntu7) ...
Traceback (most recent call last):
File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/lib/python2.7/compileall.py", line 16, in <module>
import struct
File "/usr/local/lib/python2.7/struct.py", line 1, in <module>
from _struct import *
ImportError: No module named _struct
dpkg: error processing python-minimal (--configure):
subprocess installed post-installation script returned error exit status 255
Run Code Online (Sandbox Code Playgroud)
PS: 从源代码构建 2.7总是退出(也在 dist-ugprade 或 update-alternatives 之前)
make: *** [libinstall] Error 1
Run Code Online (Sandbox Code Playgroud)
目前,在 make 上,还有更多问题(“Python 构建完成,但未找到构建这些模块所需的位:_bsddb bsddb185 bz2
dl imageop sunaudiodev
要找到必要的位,请在 detect_modules() 中查看 setup.py 中的模块的名称。")
由于这有点超出我的想象,我想我最好从头开始全新安装。
小智 5
我最近从 debian/Testing 降级到 debian/Stable 时遇到了类似的问题。我猜在这个过程中的某个地方,python 模块被损坏了。正如有人指出的那样,清除并重新安装 python 有点苛刻。幸运的是,我遇到了以下 http://ubuntuforums.org/showthread.php?t=735693
按照这个建议,我尝试了命令
for pkg in `dpkg --get-selections | egrep -v 'deinstall' | egrep python | awk '{print $1}'`; do apt-get -y --force-yes install --reinstall $pkg ; done
Run Code Online (Sandbox Code Playgroud)
重新安装名称中包含 python 的任何内容,并解决了问题。
您的 python 2.6 安装可能更改了很多设置和路径。
最好的办法是重新安装默认的 python 解释器
sudo apt-get --reinstall install python python-support
Run Code Online (Sandbox Code Playgroud)
我无法测试它,但我希望它有效。祝你好运。
如果它不起作用,我唯一的另一个想法是从源代码安装 python 2.7,然后尝试再次重新安装默认版本。
我的猜测是,您不小心覆盖了默认的 python 目录(不知何故),并且 2.6 与更新管理器/应用程序所需的内容不兼容。
sudo apt-get purge python2那就试试吧sudo apt-get install python2。这应该会从系统中清除 python 并重新安装它,使其再次成为默认 Python。
唯一的另一个想法是你得到了一个错误的 2.6 源代码,并且它本身造成了一个错误的安装,还没有坏到可以被 make 检测到???
| 归档时间: |
|
| 查看次数: |
15179 次 |
| 最近记录: |