Как установить модуль gi для anaconda python3?

python3 является моей локальной версией Anaconda python, в то время как python3.4 - система одна. Я могу импортировать gi модуль python3.4 (наверное, потому что я установил его с sudo apt-get install python3-gi), но python3 не видит этого:

$ python3 -c 'import gi'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'gi'
$ python3.4 -c 'import gi'                                       

$ python3 --version
Python 3.5.1 :: Anaconda 4.0.0 (64-bit)
$ python3.4 --version
Python 3.4.3
$ which python3
/home/kossak/anaconda3/bin/python3
$ which python3.4
/usr/bin/python3.4
$

как я должен установить gi для Anaconda python? Или, может быть, я могу как-то импортировать модули sysem?

моя ОС:

System:    Kernel: 3.19.0-32-generic x86_64 (64 bit gcc: 4.8.2) Desktop: Cinnamon 2.8.8 (Gtk 2.24.23) dm: mdm
           Distro: Linux Mint 17.3 Rosa

4 ответов


вот как вы это делаете: (пример для Linux Mint и python3)

установить gi модуль с помощью диспетчера пакетов дистрибутива. Для Linux Mint это будет:

sudo apt-get install python3-gi

затем запустите дистрибутив python, чтобы проверить, где находится модуль:

$ /usr/bin/python3
Python 3.5.2 (default, Sep 10 2016, 08:21:44)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>> print(gi)
<module 'gi' from '/usr/lib/python3/dist-packages/gi/__init__.py'>

так что в моем случае модуль gi был установлен до /usr/lib/python3/dist-packages/gi. Предполагая, что у вас установлена ваша anaconda в /home/kossak/anaconda3, создайте ссылку на модуль gi в правильном папка:

ln -s /usr/lib/python3/dist-packages/gi /home/kossak/anaconda3/lib/python3.5/site-packages/

если у вас есть виртуальная среда conda и хотите gi модуль, чтобы быть доступным там, путь должен быть немного другим. Предполагая, что виртуальный env называется TEST:

ln -s /usr/lib/python3/dist-packages/gi /home/kossak/anaconda3/envs/TEST/lib/python3.5/site-packages/

и это работает:

$ python3
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul  2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>>

Если вы используете conda virtualenv для python-3, вы можете использовать

$ conda install -c conda-forge pygobject

в вашем virtualenv

вы можете узнать больше об этом на: https://anaconda.org/conda-forge/pygobject


для меня

conda install -c pkgw/label/superseded gtk3

работала


если вы хотите выполнить правильную установку (без мягкой компоновки) в среде Linux anaconda. Имейте в виду, что ошибки могут отличаться, если вы не установили gcc ранее (я предполагал, что он был установлен по умолчанию, когда я опубликовал, однако не все это делают). установить его, если вы не очень хорошо знаете, что вы делаете, чтобы избежать недоразумения

  1. создайте или откройте среду conda.

  2. попытка установите pygobject (не волнуйтесь, скорее всего, он выдаст ошибку):

    pip install pygobject
    

    в linux он будет стимулировать обычный прогресс установки с последующей ошибкой:

    (...) Пожалуйста, попробуйте выполнить следующее В вашей системе: sudo apt установить libgirepository1.0-dev

    в зависимости от операционной системы или установленных зависимостей имя команды или имя пакета могут отличаться. Просто следуйте инструкциям и позвольте системе установите пакеты. Этот шаг ничего не меняет, просто чтобы дать вам точную информацию о пакете, который вам нужен в вашей системе. если вы запустите это в Windows, он попросит вас установить определенную версию Visual Studio. Если вы находитесь в Windows, загрузите необходимую Visual Studio с веб-сайта MS, установите его, перезагрузите компьютер и перейдите к шагу 5 (в моем случае мне никогда не нужен Шаг 4 в windows, однако я не эксперт MS.

  3. закрыть стадион conda среды

    conda deactivate
    
  4. Далее вам нужно установить pygobject из репозитория conda-forge в вашей среде conda. Вы можете добавить РЕПО в свой любимый менеджер пакетов conda или просто запустить следующую команду как root (важно быть root). Я сделал это вне проекта, но вы можете сделать это внутри:

    conda install -c conda-forge pygobject
    

    в моем случае Конда не был на пути. У меня было установлено в:

    /opt/anaconda3/bin/
    

    вы можете выполнить следующую команду от вашего обычного пользователя, чтобы узнать, где conda:

    which conda
    
  5. откройте среду conda

    source activate <your env name>
    

    или соответствующий синтаксис активации anaconda (я никогда не использую его, поэтому я не могу точно вспомнить)

  6. повторите первый шаг и теперь установка не подведет:

    pip install pygobject
    

    или если вы специально хотите установить gi, вы можете запустить:

    pip install pgi
    

    правильный пакет "pgi" не "gi"

поскольку gi является зависимостью pygobject, все будет правильно установлено. Вы можете проверить это, запустив

python
>>> import gi

вы можете найти следующее полезное для Windows, хотя вам может потребоваться немного поработать: привязки python GStreammer в Windows