使用conda 4.3.21为python 3.6安装pybox2d

R. *_*. M 5 python-3.x anaconda conda ubuntu-16.04 openai-gym

我想和OpenAI健身房的月球着陆器一起玩。

为了运行此代码,我需要安装Box2d,这是我出现问题的地方。我正在使用conda 4.3.21和python 3.6的ubuntu 16.04。当我尝试运行环境时,收到错误消息:ModuleNotFoundError:没有名为“ _Box2D”的模块

所以我尝试了直接安装pybox2d:https : //github.com/pybox2d/pybox2d/blob/master/INSTALL.md ,产生了同样的错误消息。

然后我尝试按照https://github.com/cbfinn/gps/issues/34中概述的方法从GitHub安装

$git clone https://github.com/pybox2d/pybox2d pybox2d_dev
$cd pybox2d_dev
$python setup.py build 
$sudo python setup.py install
Run Code Online (Sandbox Code Playgroud)

如果我运行此命令(在具有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

因此,尽管在python 3 conda环境中,pybox2d仍安装在ubuntu的标准python 2的lib中。

因此,我正在寻找使用conda 4.3.21为python 3安装pybox2d软件包的方法

Nat*_*han 21

当我尝试导入它时,安装Box2Dfrompip导致我出现此处描述的错误。以下是在 Python 3.6 上对我有用的方法,如该 GitHub 问题中所述:

conda install swig # needed to build Box2D in the pip install
pip install box2d-py # a repackaged version of pybox2d
Run Code Online (Sandbox Code Playgroud)


sdr*_*002 7

嘿,这个问题看起来很老,但似乎没有人真正把正确的答案放在任何地方,所以只写这个。

在您的 linux 命令中遵循以下两行:

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

$ pip 安装 Box2D

---------以下是不必要的细节--------

许多人想运行基于 Box2D 的健身房,但您必须像 Mujoco 系列健身房环境一样自行安装。

许多人使用 python 3.6,但安装 Box2D 的最简单方法是 $ conda install -c kne pybox2d 不起作用,因为 pybox2d 一直维护到 py3.5

但是直接执行 $ pip install Box2D 并不能解决问题。错误来自 swig 给出了它的错误 msg,但实际上不是。$ sudo apt-get install build-essential python-dev swig python-pygame 这一行总是一次性解决所有问题。

我一直在做基于 Box2D envs 的研究,但每次我在新的 envs 中安装它时仍然忘记这一点,所以这对我来说也是如此,哈哈

贡献: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!
Run Code Online (Sandbox Code Playgroud)


Mik*_*ler 0

您需要激活您的环境:

source activate my_env_name
Run Code Online (Sandbox Code Playgroud)

然后提示更改为:

(my_env_name)
Run Code Online (Sandbox Code Playgroud)

现在,安装pip和不安装sudo:

pip install pybox2d
Run Code Online (Sandbox Code Playgroud)