Как установить gi-модуль для anaconda python3?
python3
- это моя локальная версия python Anaconda, а 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
для python Anaconda? Или, может быть, я могу каким-то образом импортировать модули sysem-wide?
Мои os:
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
Ответы
Ответ 1
Вот как вы это делаете: (пример для 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
>>>
Ответ 2
Если вы хотите выполнить правильную установку (без мягких ссылок) в среде Linux Anaconda. Имейте в виду, что ошибки могут отличаться, если вы ранее не устанавливали gcc (я предполагал, что он был установлен по умолчанию, когда я писал, но не все так делают). Установите его, если вы не очень хорошо знаете, что делаете, чтобы избежать недоразумений
-
Создайте или откройте вашу среду conda.
-
Попытайтесь установить pygobject (не волнуйтесь, он, скорее всего, выдаст ошибку):
pip install pygobject
В Linux это будет вызывать обычный процесс установки, сопровождаемый ошибкой:
(...) Пожалуйста, попробуйте выполнить в вашей системе следующее: sudo apt install libgirepository1.0-dev
В зависимости от вашей операционной системы или установленных зависимостей, имя команды или имя пакета могут отличаться. Просто следуйте инструкциям и позвольте системе установить ваши пакеты. Этот шаг ничего не меняет, он просто дает вам точную информацию о пакете, который вам нужен в вашей системе. Если вы запустите это в Windows, вам будет предложено установить определенную версию Visual Studio. Если вы работаете в Windows, загрузите необходимую Visual Studio с веб-сайта MS, установите ее, перезагрузите компьютер и перейдите к шагу 5 (в моем случае мне никогда не требовался шаг 4 в Windows, однако я не являюсь экспертом по MS.
-
Закройте вашу среду conda
conda deactivate
-
Затем вам нужно установить pygobject из хранилища conda-forge в вашей среде conda. Вы можете добавить репозиторий в ваш любимый менеджер пакетов conda или просто запустить следующую команду от имени пользователя root (важно быть пользователем root). Я сделал это вне проекта, но вы можете сделать это внутри:
conda install -c conda-forge pygobject
В моем случае Конда не было в пути. Я был установлен в:
/opt/anaconda3/bin/
Вы можете запустить следующую команду от вашего обычного пользователя, чтобы узнать, где находится conda:
which conda
-
Откройте среду Конда
source activate <your env name>
или соответствующий анаконда активировать синтаксис (я никогда не использую его, поэтому точно не помню)
-
Повторите первый шаг, и теперь установка не удастся:
pip install pygobject
ИЛИ, если вы хотите установить gi, вы можете запустить:
pip install pgi
правильный пакет "pgi", а не "gi"
Поскольку gi является зависимостью от pygobject, все будет правильно установлено. Вы можете проверить это, запустив
python
>>> import gi
Вы можете найти следующее полезное для Windows, хотя вам, возможно, потребуется немного разобраться с этим: GStreammer python bindings в Windows
Ответ 3
Если вы используете conda virtualenv для python-3, вы можете использовать
$ conda install -c conda-forge pygobject
в вашем virtualenv
Вы можете узнать больше об этом:
https://anaconda.org/conda-forge/pygobject
Ответ 4
для меня
conda install -c pkgw/label/superseded gtk3
работал