当我运行时sudo apt-get upgrade,出现 dpkg 错误并中断进程。
错误详情:
Setting up python-minimal (2.7.3-0ubuntu7.1) ...
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
dpkg: dependency problems prevent configuration of python:
python depends on python-minimal (= 2.7.3-0ubuntu7.1); however:
Package python-minimal is not configured yet.
Run Code Online (Sandbox Code Playgroud)
而这个问题在处理以下包时会导致一系列的依赖问题:
python
gwibber-service
libgwibber3
libgwibber-gtk3
gwibber
gwibber-service-facebook
gwibber-service-identica
gwibber-service-twitter
python-all
python-dev
python-all-dev
python-apt
python-problem-report
python-apport
python-libxml2
unity-lens-gwibber
unity-scope-video-remote
Run Code Online (Sandbox Code Playgroud)
最后,我对这个问题无能为力。几天后,根目录已满,我什至因为这个问题无法卸载任何软件。
小智 8
遵循 Soroosh 的解决方案。手动构建和安装 python 2.6 后损坏的 python (2.7)
进入sudo -iroot 访问。
粘贴命令并等待大约 20 分钟。完美运行。
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-minimal 没有 struct.py,但 python-minimal2.7 有。
所以,尝试一下这个,看看它是否对你有帮助:
sudo apt-get install --reinstall python2.7-minimal
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
如果即使这样也不起作用,也许你的 $PYTHONPATH 不知何故搞砸了。
nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7"然后添加行
source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
并再次尝试更新。
不知道这是否会对您有所帮助,这有点盲目,但请确保您的默认 Python 版本设置为 2.7。
/usr/bin 中有三个值得关注的文件:
python (symlink)
python2.7
python3 (symlink)
Run Code Online (Sandbox Code Playgroud)
如果这样做,ls -l /usr/bin | grep python您将看到每个符号链接指向的内容。
如果它向您显示python -> python3或者python -> python3.3有什么问题。此时您将需要:
rm /usr/bin/python
ln -s /usr/bin/python2.7 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24749 次 |
| 最近记录: |