在 Ubuntu 中对默认 Python 版本进行了一些不太聪明的编辑后,从 2.7 到 3.2,我最终破坏了我的整个系统。我的电脑骤降,一切都停止了工作后,我试图恢复我的变化(通过链接/usr/bin/python2.7到/usr/bin/python和改变默认的版本/usr/share/python/debian_defaults回到2.7),但有些事情仍然打破。
例如,当我输入import giPython 解释器时,我收到以下消息:
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named gi
>>>
Run Code Online (Sandbox Code Playgroud)
某些程序也会出现错误(例如:gnome 调整工具)。我已经尝试从软件中心和源代码重新安装 Python,但同样的错误仍然存在。
python --version 现在返回:
Python 2.7.2
Run Code Online (Sandbox Code Playgroud)
以及一些依赖 Python 2.7 的软件包现在正在运行(例如软件中心),但有些东西仍然被破坏。我可以做些什么来完全重新安装 Python 2.7 作为默认版本?
pru*_*wan 12
如果您安装了 anaconda 并且它已成为默认的 python 环境,则可以通过以下方式安装 gi 模块:
conda install -c conda-forge pygobject
Run Code Online (Sandbox Code Playgroud)
另见:https : //bugs.launchpad.net/ubuntu/+source/ibus/+bug/1611523
在这里找到的对我有用的解决方法很少:
sudo nano /usr/bin/gnome-tweak-tool
Run Code Online (Sandbox Code Playgroud)
更改#!/usr/bin/env python为#!/usr/bin/python
在终端中运行此命令:
sudo apt install python3-gi
Run Code Online (Sandbox Code Playgroud)
或者如果您需要 Python2 支持:
sudo apt install python-gi
Run Code Online (Sandbox Code Playgroud)
就我而言:
>>> import gi
>>> gi.__file__
'/usr/lib/python2.7/dist-packages/gi/__init__.pyc'
Run Code Online (Sandbox Code Playgroud)
因此,您必须检查是否有该文件可用。如果不是,则检查该 /usr/lib/python2.7/dist-packages/gi/__init__.py点/usr/share/pyshared/gi/__init__.py。您应该拥有该文件,因为您已经拥有python-gobject 3.0.0-0ubuntu4(是的,我有完全相同的版本)。
如果gi包在那里,那么你应该看看你的sys.path输出。如果/usr/lib/python2.7/dist-packages未包含,请添加并重试。
导入成功后,您可以设置路径PYTHONPATH或进一步调查路径设置不正确的原因。
悬而未决的问题可能是您的site.py文件由于某种原因无效,或者更可能是您没有获得正确的文件site.py(它应该位于/usr/lib/python2.7/)。在这种情况下,请查看此处查看 python 用于查找该文件的所有目录并检查您的环境是否正确。
| 归档时间: |
|
| 查看次数: |
152605 次 |
| 最近记录: |