一次漫長的代碼複現經曆

來源:互聯網
上載者:User

標籤:pygame   環境   upload   smp   __init__   man   swscale   直接   info   

最近一位外國友人在複現某個項目的代碼時環境配置出了些問題,找我幫忙解決。說實話,遊戲和增強學習這兩方面我都不是很熟悉,但好在對 Ubuntu 還算熟悉,前前後後折騰了好久,終於讓程式順利運行了起來。不得不說,這些深度學習的環境配置起來真是讓人心煩,各種庫的版本層出不窮,一著不慎滿盤皆輸,但我們又能怎麼辦呢,只能硬著頭皮沖鴨!

項目地址戳此——Minecraft-Reinforcement-Learning

安裝環境
Ubuntu 16.04
Python 3.6
malmo==0.34.0
gym==0.7.4
minecraft-py==0.0.2
gym-minecraft==0.0.2
pygame==1.9.4.dev0

1. 安裝 Malmo 和相關依賴庫
wget https://github.com/Microsoft/malmo/releases/download/0.34.0/Malmo-0.34.0-Linux-Ubuntu-16.04-64bit_withBoost_Python3.5.zipunzip Malmo-0.34.0-Linux-Ubuntu-16.04-64bit_withBoost_Python3.5.zipmv Malmo-0.34.0-Linux-Ubuntu-16.04-64bit_withBoost_Python3.5 Malmocp -r Malmo ~ # 移動檔案夾到任意位置即可sudo apt-get install libboost-all-dev libpython2.7 openjdk-8-jdk lua5.1 libxerces-c3.1 liblua5.1-0-dev ffmpeg python-tk python-imaging-tksudo update-ca-certificates -f
2. 安裝 OpenAI gym
whereis pip> pip: /usr/local/bin/pip2.7 /usr/local/bin/pip3.6 /usr/local/bin/pip /home/lab/anaconda3/bin/pip3.6 /home/lab/anaconda3/bin/pip /usr/share/man/man1/pip.1.gzsudo /usr/local/bin/pip3.6 install gym==0.7.4
  • 如果有多個版本的 pip,需要指定具體路徑,然後安裝 gym 0.7.4
3. 安裝 minecraft_py
git clone https://github.com/tambetm/minecraft-py.gitcd minecraft-pycp -r ../Malmo/Minecraft/ minecraft_py/Malmocp -r ../Malmo/Mod/ minecraft_py/Malmocp -r ../Malmo/Python_Examples/ minecraft_py/Malmocp -r ../Malmo/Schemas/ minecraft_py/Malmo/# 複製第一步 Malmo 檔案夾下的 Minecraft、Mod、Python_Examples 和 Schemas 到 minecraft_py/Malmo 下sudo /usr/bin/python3.6 setup.py install
  • 若直接安裝會報以下錯誤
warning: no directories found matching ‘minecraft_py/Malmo/Minecraft‘warning: no directories found matching ‘minecraft_py/Malmo/Mod‘warning: no directories found matching ‘minecraft_py/Malmo/Python_Examples‘warning: no directories found matching ‘minecraft_py/Malmo/Schemas‘
4. 安裝 gym-minecraft
cd ..git clone https://github.com/tambetm/gym-minecraft.gitcd gym-minecraftsudo /usr/bin/python3.6 setup.py install
5. 安裝 Pygame
sudo apt-get install mercurial python3-dev python3-setuptools python3-numpy python3-opengl     libav-tools libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsmpeg-dev     libsdl1.2-dev libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev     libtiff5-dev libx11-6 libx11-dev fluid-soundfont-gm timgm6mb-soundfont     xfonts-base xfonts-100dpi xfonts-75dpi xfonts-cyrillic fontconfig fonts-freefont-ttfcd ..hg clone https://bitbucket.org/pygame/pygamecd pygamesudo /usr/bin/python3.6 setup.py buildsudo /usr/bin/python3.6 setup.py install
6. 添加 ScoreBoard 到 Gym
wget https://github.com/openai/gym/archive/v0.7.4.zipunzip v0.7.4.zipsudo cp -r gym-0.7.4/gym/scoreboard /usr/local/lib/python3.6/dist-packages/gym/
7. 添加環境變數
echo "export MALMO_XSD_PATH=/usr/local/lib/python3.6/dist-packages/minecraft_py-0.0.2-py3.6.egg/minecraft_py/Malmo/Schemas" >> ~/.bashrcsource ~/.bashrc
8. 一些問題
  • 此時,可以先嘗試運行 /usr/local/lib/python3.6/dist-packages/minecraft_py-0.0.2-py3.6.egg/minecraft_py/Malmo/Minecraft 下的 launchClient.sh,如果能成功啟動並執行話基本沒什麼問題。若是遇到一些許可權的問題,也可以在 /usr/local/lib/python3.6/dist-packages/minecraft_py-0.0.2-py3.6.egg/minecraft_py/__init__.py 檔案中更改兩個路徑為第一步時解壓後的檔案夾路徑。
malmo_xsd_path = ‘/media/lab/data/yongsen/pygame/Malmo/Schemas‘malmo_dir = ‘/media/lab/data/yongsen/pygame/Malmo‘
  • 如果有庫依賴的報錯,只需要安裝對應依賴即可。

比如 ImportError: cannot import name ‘_psutil_linux‘,sudo /usr/local/bin/pip3.6 install psutil

擷取更多精彩,請關注「seniusen」!

一次漫長的代碼複現經曆

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.