в Ubuntu 16.04 у меня есть python2.7, python3.5 и python3.6. Анаконда использует python3.6. Я могу импортировать gi на 2,7 и 3.5, но я не могу в 3,6. Я создал ссылку, как предложено здесь https://stackoverflow.com/questions/37526026/how-to-install-gi-module-for-anaconda-python3, но я все еще получаю ошибку.
gio@gio-XPS-13-9343:~$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/gio/anaconda3/lib/python3.6/site-packages/gi/__init__.py", line 42, in <module>
from . import _gi
ImportError: cannot import name '_gi'
>>>
Сегодня у меня была та же самая проблема и что работало на меня, следующее:
Во-первых, создайте ссылку, как предложено в stackoverflow отправляют Вас процитированный (предполагающий, что анаконда установлена под/home/your_user/anaconda3),
ln -s /usr/lib/python3/dist-packages/gi /home/your_user/anaconda3/lib/python3.6/site-packages/
Во-вторых, перейдите в gi
папка, что Вы просто связали, в рамках Вашего каталога анаконды и переименовываете копию двух .so файлов для установки версии Python анаконды (в моем случае от 3,4 до 3,6)
cd /home/your_user/anaconda3/lib/python3.6/site-packages/gi/
sudo cp _gi.cpython-34m-x86_64-linux-gnu.so _gi.cpython-36m-x86_64-linux-gnu.so
и
sudo cp _gi_cairo.cpython-34m-x86_64-linux-gnu.so _gi_cairo.cpython-36m-x86_64-linux-gnu.so
Наконец, import gi
работавший соответственно в моей среде анаконды.
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>>