我正在运行Ubuntu 16.04并且无法完成“健身房”的全面安装。我做了什么:
sudo apt-get install -y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig
cd gym
然后pip install -e '.[all]'
在整个过程中我没有错误。然后我打开Spyder ide并运行:
import gym
env = gym.make("CartPole-v0")
它工作正常。但是,当我跑
时import gym
env = gym.make("LunarLander-v2")
我收到错误:
/path/anaconda3/lib/python3.5/site-packages/Box2D/_Box2D.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm
当我尝试访问其他box2d和atari环境时,我也会遇到错误。
值得注意的是,我尝试在我安装了Python 2.7版本的Anaconda的另一台虚拟机上完成所有这些操作,并且我得到了相同的消息......所以这似乎没有任何关系我正在使用的python版本。
答案 0 :(得分:4)
我在Ubuntu 16.04上遇到了同样的问题。
尝试使用conda install -c anaconda gcc=4.8.5
在conda环境中安装gcc(GCC)4.8.5。这为我修好了。另请参阅https://anaconda.org/anaconda/gcc。
我的默认gcc遇到了同样的问题
$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4)
希望有所帮助!
答案 1 :(得分:2)
如果您安装了conda环境,请在您的频道中使用conda。
$ conda install -c https://conda.anaconda.org/kne pybox2d
Box2d将添加到python3.5/site-packages
下,然后再次尝试代码。
import gym
env = gym.make("LunarLander-v2")
祝你好运。