Установите pybox2d для python 3.6 с conda 4.3.21

Я хочу поиграть с env лунного посадочного модуля из спортзала OpenAI.

Чтобы запустить этот код, мне нужно установить Box2d, здесь и возникают мои проблемы. Я использую ubuntu 16.04 с conda 4.3.21 и python 3.6. Когда я попытался запустить среду, я получил сообщение об ошибке: ModuleNotFoundError: Нет модуля с именем '_Box2D'

Поэтому я попробовал прямую установку pybox2d: https://github.com/pybox2d/pybox2d/blob/master/INSTALL.md, что привело к тому же сообщению об ошибке.

Затем я попытался установить с GitHub, следуя способу, описанному в https://github.com/cbfinn/gps/issues/34

$git clone https://github.com/pybox2d/pybox2d pybox2d_dev
$cd pybox2d_dev
$python setup.py build 
$sudo python setup.py install

Если я запустил это (в корневой среде с python 3 или другой новой созданной средой с python 3), я получу результат:

много журналов обработки Обработка Box2D-2.3.2-py2.7-linux-x86_64.egg создание /usr/local/lib/python2.7/dist-packages/Box2D-2.3.2-py2.7-linux-x86_64 .egg Извлечение Box2D-2.3.2-py2.7-linux-x86_64.egg в /usr/local/lib/python2.7/dist-packages Добавление Box2D 2.3.2 в файл easy-install.pth

Установлены /usr/local/lib/python2.7/dist-packages/Box2D-2.3.2-py2.7-linux-x86_64.egg Зависимости обработки для Box2D == 2.3.2 Зависимости завершенной обработки для Box2D == 2.3.2

Итак, pybox2d установлен в библиотеку стандартного python 2 Ubuntu, несмотря на то, что он находится в среде conda python 3.

Итак, я ищу способы установить пакет pybox2d для python 3 с conda 4.3.21.


person R. M    schedule 26.05.2017    source источник


Ответы (4)


Установка Box2D из pip привела меня к ошибке, описанной здесь, когда я пытался импортировать ее. Вот что у меня сработало на Python 3.6, как это было предложено в том выпуске GitHub:

conda install swig # needed to build Box2D in the pip install
pip install box2d-py # a repackaged version of pybox2d
person Nathan    schedule 24.01.2019

Эй, этот вопрос выглядит довольно старым, но кажется, что никто на самом деле нигде не дал правильный ответ, так что просто напишите это.

Следуйте двум нижеприведенным строкам в вашей команде linux:

$ sudo apt-get install build-essential python-dev swig python-pygame

$ pip install Box2D

--------- Ниже ненужные подробности --------

Многие хотят запустить тренажерный зал на базе Box2D, но это то, что вам нужно установить самостоятельно, как тренажерный зал серии Mujoco.

Многие используют Python 3.6, но самый простой способ установки Box2D - $ conda install -c Kne pybox2d не работает, потому что pybox2d поддерживается до py3.5.

Но выполнение $ pip install Box2D напрямую не решает проблемы. Ошибка возникает из-за swig, учитывая его сообщение об ошибке, но на самом деле это не так. $ sudo apt-get install build-essential python-dev swig python-pygame Эта строка всегда решает все сразу.

Я проводил исследования на основе окружений Box2D, но до сих пор не могу этого сделать каждый раз, когда устанавливаю это в новом окружении, так что это тоже для меня, лол

Внесите свой вклад: https://github.com/jonasschneider/box2d-py/blob/master/INSTALL.md

Кстати, не забудьте еще раз проверить, правильно ли он установлен. В команде linux

$ python --version
python 3.6. sthsth
$ python
>>> import numpy as np
>>> import gym
>>> env = gym.make('BipedalWalker-v2')
# If it does not give you error, then it's done!
person sdr2002    schedule 30.06.2018
comment
Кстати, не забудьте еще раз проверить, правильно ли он установлен. - person sdr2002; 30.06.2018
comment
Это не дало мне ошибки, а было предупреждение: WARN: gym.spaces.Box автоматически определил dtype как ‹class 'numpy.float32'›. Укажите явный dtype. - person Hermes Morales; 27.03.2021

Вам необходимо активировать свою среду:

source activate my_env_name

Затем подсказка меняется на:

(my_env_name)

Теперь установите с pip и без sudo:

pip install pybox2d
person Mike Müller    schedule 25.06.2017

person    schedule
comment
Подобный ответ уже публиковался. - person nobleknight; 08.06.2021