tag:crieit.net,2005:https://crieit.net/tags/minecraft/feed 「minecraft」の記事 - Crieit Crieitでタグ「minecraft」に投稿された最近の記事 2019-07-17T02:13:04+09:00 https://crieit.net/tags/minecraft/feed tag:crieit.net,2005:PublicArticle/15250 2019-07-17T02:13:04+09:00 2019-07-17T02:13:04+09:00 https://crieit.net/posts/pyenv-win-cygwin pyenv-win を cygwin 環境で動かすためにやったこと <p>普段 Python3 オンリーの環境でヒャッハーと快適にコードを書き殴っている世の中のお父さん方には、夏休みに入るとやむを得ず Python2.7 と共存する環境にせざるを得ない、という方々もおられることでしょう。<br /> なぜなら、子供にせがまれて<a target="_blank" rel="nofollow noopener" href="https://d-school.co/course/micratchjr/">プログラミング教室</a>を申し込んでみたところ、 Minecraft + scratch で学ぶという点に親の方が興味を持ってしまいます。この教室で使われる「マイクラッチ」というソフトウェア自体はプログラミングスクール独自のもののようで、詳細は非公開のため同じ環境を作ることはできませんが、手元で似た環境を構築してみようと「<a target="_blank" rel="nofollow noopener" href="https://coinbaby8.com/scrach-and-minecraft.html">スクラッチ(scratch)とマインクラフト(minecraft)を連携させて子ども向けプログラミングのネタを増やしてみた</a>」という記事を参考に、<a target="_blank" rel="nofollow noopener" href="https://github.com/arpruss/raspberryjammod">RaspberryJamMod</a> や <a target="_blank" rel="nofollow noopener" href="scratch2mcpi.py">https://github.com/scratch2mcpi/scratch2mcpi</a> を入れたりするのですが、ここでscratch2mcpi.pyはPython3で動作しないことが発覚、泣く泣く 2.7 をインストールすることになります。</p> <p>複数のバージョンのPythonを共存するには、<a target="_blank" rel="nofollow noopener" href="https://github.com/pyenv/pyenv">pyenv</a> というツールを入れるとコマンドラインから手軽に切替ができるようになるようです。WIndows 用には <a target="_blank" rel="nofollow noopener" href="https://github.com/pyenv-win/pyenv-win">pyenv-win</a> が配布されているので、入れてみました。ところが、手元の WIndows10 の cygwin 環境では pyenv が以下のエラーを出して正常に動作しませんでした。</p> <pre><code>$ pyenv versions 'ygdrive' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 </code></pre> <p>修正前の <code>pyenv-win/bin/pyenv</code> はこのようなコードになっています。dirname で取得したパス文字列が cygwin 形式 (<code>/cygdrive/c/foo/bar</code>) になっている事が問題のようです。</p> <pre><code class="bash">#!/bin/sh cmd //c call "$(dirname "$0")/pyenv.bat" $* </code></pre> <p>こちらを以下のように修正しました。</p> <pre><code class="bash">#!/bin/sh PYENV_DOS_PATH=`cygpath -d $(dirname "$0")` cmd /c call "$PYENV_DOS_PATH/pyenv.bat" $* </code></pre> <p>これで cygwin 環境で快適に pyenv が使えるようになりました。めでたしめでたし。<br /> (ただ、python を対話モードで起動すると、コンソールの違いのせいかキー入力が効かなくなる事があるようです。その場合は cmd.exe を使うしかないですね…)</p> <p>なお、上記前文中に「マイクラッチの詳細は不明」と書きましたが、今月(2019年7月)末にプログラミングスクールのマイクラッチ作者の方による書籍「<a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/dp/4046041579">自分で作ってみんなで遊べる! プログラミング マインクラフトでゲームを作ろう!</a>」が出るようです。</p> ともたこ