【訂正アリ】Python3.7でDiscordBot作ろうと思ったら手こずった【Python3.7】

2018年12月29日土曜日

Python プログラミング 開発




Discordアプリを作りたい

これを参考にPython開発環境を構築し、Discordアプリ(応答するやつ)を作ろうと思ったのですが、めっちゃ手こずってしまったのでそれを書いておきます。


上の記事を参考に、環境をインストール。
このときのPythonバージョンは3.7。最新。


ちなみにインストールとかに使うPiPは最新にアップデート済み。


それで、さっそくDiscordアプリ作るぞ!と思い

を参考にアプリを作る。



よし実行!!!
SyntaxError: invalid syntax
あ、あれ?


構文ミス?おっかしいなぁ・・・?


なにかミスってるかな。もう一回組み直そ!
 SyntaxError: invalid syntax
ええええ・・・

を参考に、もう一回書き直す
 SyntaxError: invalid syntax
・・・・


それで、上の記事を見ていたんですけど
asyncioの関係で3.4と3.5では文法が変わります.
こんな感じ
@asyncio.coroutine → async
yield from → await
文法が・・・変わる?


もしかしてこのバージョンじゃだめとかある?


と思って、「Discord.py Python3.7」でググってみると


This library does not support 3.7. This error in particular is caused by async becoming a reserved keyword.


Please use Python 3.4-3.6.
「このライブラリは3.7はサポートされてねーよ・・・・特にasyncとか使ってるライブラリとかね・・・だから3.4~3.6のバージョン使ってくれや 」


的なことが書いてあるではありませんか!


というわけで、discord.pyはPython3.7だと現時点では使えないので、お気をつけください。

おわり





2018/12/29 訂正

Discord.pyはPython3.7で使えるようになったみたいです。

No voice:
python3 -m pip install -U git+https://github.com/Rapptz/discord.py@rewrite
With voice:
python3 -m pip install -U git+https://github.com/Rapptz/discord.py@rewrite#egg=discord.py[voice]

インストール用コマンドです。
ドキュメントも変わったらしい。




2019/2/24 追記

Python3.7でDiscordBotを作る記事を公開しました。
3.6からの移行が何かと面倒なので、はじめから3.7で作ったほうがよさそうです。



ブログ検索

総閲覧数