tag:crieit.net,2005:https://crieit.net/tags/pipenv/feed 「pipenv」の記事 - Crieit Crieitでタグ「pipenv」に投稿された最近の記事 2018-12-10T19:37:15+09:00 https://crieit.net/tags/pipenv/feed tag:crieit.net,2005:PublicArticle/14640 2018-12-10T19:27:50+09:00 2018-12-10T19:37:15+09:00 https://crieit.net/posts/discord-bot ブラウザでdiscord botを作れるんだよ <p>Google Cloud Shell で Discord.pyを使ってDiscord Botを作る。</p> <ul> <li>Google Cloud Shellには、最初からpython3とpipはインストール済み。</li> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/Rapptz/discord.py">Discord.py</a>はPythonで書かれたDiscord APIのラッパー。<a target="_blank" rel="nofollow noopener" href="https://discordapp.com/developers/docs/topics/community-resources#libraries">公認ライブラリ</a>のひとつ。</li> <li>プロジェクトでのPythonパッケージ管理をするためにpipenvを使う</li> </ul> <h3 id="用意するもの"><a href="#%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE">用意するもの</a></h3> <p>Google Cloud Platformのアカウント<br /> Discord botのtoken</p> <h3 id="Google Cloud Shell環境"><a href="#Google+Cloud+Shell%E7%92%B0%E5%A2%83">Google Cloud Shell環境</a></h3> <ul> <li>OSはDebian-based Linux</li> <li>python3は、<code>python3</code>、python3のpipは、<code>pip3</code>という名前で用意されている</li> <li>Google Cloud Shell は起動の度にHOMEディレクトリ(<code>~/</code>)以外は真っさらになる</li> </ul> <h3 id="pipenvをインストールする"><a href="#pipenv%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B">pipenvをインストールする</a></h3> <p>pipenvをユーザーディレクトリへインストールする。</p> <pre><code class="sh">$ pip3 install --user pipenv </code></pre> <p><code>--user</code>オプションを付ければ<code>~/.local</code>以下にインストールされる。</p> <p>PATHに<code>~/.local/bin</code>を追加する。<code>.profile</code>ファイルに、<code>PATH=$PATH:$HOME/.local/bin</code>を書き足す。<br /> ログインしなおすか、<code>$ source .profile</code>する。</p> <h3 id="プロジェクトへdiscord.pyをインストールする"><a href="#%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%B8discord.py%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B">プロジェクトへdiscord.pyをインストールする</a></h3> <pre><code>$ mkdir discord_bot $ cd discord_bot $ pipenv install https://github.com/Rapptz/discord.py/archive/master.zip#egg=discord.py </code></pre> <p>自分はボイスチャット機能を使いたいから、<code>https://github.com/Rapptz/discord.py/archive/master.zip#egg=discord.py[voice]</code>とした。</p> <h3 id="できあがり"><a href="#%E3%81%A7%E3%81%8D%E3%81%82%E3%81%8C%E3%82%8A">できあがり</a></h3> <pre><code>import discord </code></pre> <p>してコード書けばいい。</p> <p>実行するときは</p> <pre><code>$ pipenv run python main.py </code></pre> <hr /> <hr /> <h3 id="※うまくいかなかったやりかた"><a href="#%E2%80%BB%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%84%E3%82%8A%E3%81%8B%E3%81%9F">※うまくいかなかったやりかた</a></h3> <pre><code>$ pipenv install discord.py </code></pre> <p>したら、エラー<code>ERROR: ERROR: Could not find a version that matches discord-py</code>が発生した。<br /> わからない。<br /> <a target="_blank" rel="nofollow noopener" href="https://pypi.org/project/discord.py/">pypiのdiscord.pyページ</a>にあるurlを指定する書き方を試したらできた。</p> <h3 id="※※ pypiは、パイピーアイと呼ぶ人が多いらしいとどこかで聞いた。pypyというのがあって、そっちがパイパイ。"><a href="#%E2%80%BB%E2%80%BB+pypi%E3%81%AF%E3%80%81%E3%83%91%E3%82%A4%E3%83%94%E3%83%BC%E3%82%A2%E3%82%A4%E3%81%A8%E5%91%BC%E3%81%B6%E4%BA%BA%E3%81%8C%E5%A4%9A%E3%81%84%E3%82%89%E3%81%97%E3%81%84%E3%81%A8%E3%81%A9%E3%81%93%E3%81%8B%E3%81%A7%E8%81%9E%E3%81%84%E3%81%9F%E3%80%82pypy%E3%81%A8%E3%81%84%E3%81%86%E3%81%AE%E3%81%8C%E3%81%82%E3%81%A3%E3%81%A6%E3%80%81%E3%81%9D%E3%81%A3%E3%81%A1%E3%81%8C%E3%83%91%E3%82%A4%E3%83%91%E3%82%A4%E3%80%82">※※ pypiは、パイピーアイと呼ぶ人が多いらしいとどこかで聞いた。pypyというのがあって、そっちがパイパイ。</a></h3> <h3 id="※※※pipenvをインストールしたり、pip3自体を更新すると、pip3コマンドが使えなくなる。"><a href="#%E2%80%BB%E2%80%BB%E2%80%BBpipenv%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F%E3%82%8A%E3%80%81pip3%E8%87%AA%E4%BD%93%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81pip3%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E4%BD%BF%E3%81%88%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8B%E3%80%82">※※※pipenvをインストールしたり、pip3自体を更新すると、pip3コマンドが使えなくなる。</a></h3> <p>そのときは代わりにこう書けばpip3コマンドと同じ。</p> <pre><code>$ python3 -m pip PIPCOMMAND ARGS </code></pre> あぜち(おばあちゃん)