use*_*925 63 update-manager apt python3 13.10
我对 Ubuntu 比较陌生,我正在尝试在 Ubuntu 13.10 上运行更新管理器。我得到:
jacopo@jacopo-laptop:~$ update-manager
Traceback (most recent call last):
File "/usr/bin/update-manager", line 28, in <module>
from gi.repository import Gtk
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 27, in <module> from ._gi import _API
ImportError: No module named 'gi._gi'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 21, in <module>
import apt_pkg
ImportError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/bin/update-manager", line 28, in <module>
from gi.repository import Gtk
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 27, in <module>
from ._gi import _API
ImportError: No module named 'gi._gi'
Run Code Online (Sandbox Code Playgroud)
据我所知,这是一个与我应该安装 python3.4 的事实有关的问题。我在 中安装了它/usr/local/lib,但总是遇到相同的错误。这样我什至无法升级到 Ubuntu 14.04。
小智 54
apt_pkg使用以下方法重新安装:
sudo apt-get install --reinstall python3-apt
Run Code Online (Sandbox Code Playgroud)
该错误主要是因为库中apt_pkg.cpython-35m-x86_64-linux-gnu.so不存在/usr/lib/python3/dist-packages.
删除并重新安装应该会有所帮助。
小智 31
update-alternatives --set python3 /usr/bin/python3.6
Run Code Online (Sandbox Code Playgroud)
小智 22
对我来说,以下步骤有效:
cd /usr/lib/python3/dist-packages
sudo ln -s apt_pkg.cpython-{35m,34m}-x86_64-linux-gnu.so
Run Code Online (Sandbox Code Playgroud)
原始解决方案在这里:https : //stackoverflow.com/questions/13708180/python-dev-installation-error-importerror-no-module-named-apt-pkg/36232975#36232975
小智 15
以下解决方案对我有用:
cd /usr/lib/python3/dist-packages
ls -la /usr/lib/python3/dist-packages
sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so
Run Code Online (Sandbox Code Playgroud)
如果您收到一条错误消息,指出符号链接的级别过多,如下所示:
cp: failed to access '/usr/lib/python3/dist-packages/apt_pkg.so': Too many levels of symbolic links
Run Code Online (Sandbox Code Playgroud)
然后您需要简单地取消链接 apt_pkg.so 文件。使用以下命令:
sudo unlink apt_pkg.so
Run Code Online (Sandbox Code Playgroud)
然后使用命令
sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
在我升级到 Python 3.6 或 3.7 并且 add-apt-repository 停止工作后,这个解决方案曾经对我有用:
cd /usr/lib/python3/dist-packages
# where 35m is the file you have and 38m corresponds to your Python version
sudo ln -s apt_pkg.cpython-{35m,38m}-x86_64-linux-gnu.so
Run Code Online (Sandbox Code Playgroud)
现在我的 Python 3.8 和 add-apt-repository 再次停止工作。我发现了另一个相关的问题,这个答案对我有用。看起来预期的文件名现在只是apt_pkg.so,所以你必须这样做:
cd /usr/lib/python3/dist-packages
# where 35m is the file you have
sudo ln -s apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.so
Run Code Online (Sandbox Code Playgroud)
新的预期文件名是apt_pkg.so有希望的。希望这意味着我们不必每次出现新的 Python 小版本时都继续这样做!
小智 8
对我来说,这做到了:
apt-get remove python3-apt
apt-get install python3-apt
Run Code Online (Sandbox Code Playgroud)
这个问题其实和这个类似: apt-get crashed: No module named debian.deb822
如果您尝试将 13.10 升级到 14.04,请尝试按照以下说明进行操作。如果您只是尝试从命令行更新当前系统,请打开终端并键入以下内容:
sudo apt-get update
sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)
小智 5
对我来说,问题是我在 python3.6 旁边安装了 python3.7 并将其设置为默认值。
我手动运行以下命令:
ln -s /usr/bin/python3.6 /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)
所以 python3 现在指向 python 的正确版本...解决了这个问题。
| 归档时间: |
|
| 查看次数: |
232985 次 |
| 最近记录: |