我正在尝试使用add-apt-repository
命令将存储库添加到ppa,但是找不到来自Python的_gi
模块。
我执行了以下命令:sudo add-apt-repository ppa:s-mankowski/ppa-kf5
这是回溯:
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 11, in <module>
from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 67, in <module>
from gi.repository import Gio
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
from . import _gi
ImportError: cannot import name '_gi' from 'gi' (/usr/lib/python3/dist-packages/gi/__init__.py)
我在使用Python3.7的Ubuntu上,我尝试了很多解决方案,例如,但它不起作用:
$ cd /usr/lib/python3/dist-packages
$ sudo ln -s apt_pkg.cpython-{36m,37m}-x86_64-linux-gnu.so
$ cd /usr/lib/python3/dist-packages/gi
$ sudo ln -s _gi.cpython-{36m,37m}-x86_64-linux-gnu.so
我不能使用sudo add-apt-repository ppa:s-mankowski/ppa-kf5
命令,但是可以使用python3 {file}
运行Python文件。
感谢您的帮助!
答案 0 :(得分:11)
感谢a comment by Wilhelm,我发现解决方法是:
sudo ln -s /usr/lib/python3/dist-packages/gi/_gi.cpython-{36m,37m}-x86_64-linux-gnu.so
这对我在Ubuntu上的Python 3.7有用。
答案 1 :(得分:2)
Ubuntu不喜欢将其默认解释器从python 3.7切换掉。
因此使用
将其切换回3.6sudo update-alternatives --config python3
然后尝试安装gi
软件包:
sudo apt install python3-gi
答案 2 :(得分:0)
这两个步骤可能对您有帮助
$ cd /usr/lib/python3/dist-packages/gi
$ sudo ln -s _gi.cpython-{36m,37m}-x86_64-linux-gnu.so
答案 3 :(得分:0)
这是一个老问题,但如果有人需要快速解决方案,这并不意味着在任何地方更改默认 Python 版本,只需:
sudo python3.6 /usr/bin/apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
答案 4 :(得分:-2)
请按照以下步骤解决此问题。
(1)ls -al / usr / bin | grep python
(2)sudo gedit / usr / bin / add-apt-repository
然后将!/ usr / bin / python3更改为
!/usr/bin/python3.6