termcolorでPythonのprint文に色を付けよう!

こんにちは、鉄火巻です。

プログラムを作っていて、結果の表示やデバック用にprint()をよく利用しています。

しかし、コマンドプロンプトの真っ黒な画面に白文字のみ表示されているため、なんとなくおもしろみがありません。
とはいえ、コマンドプロンプト自体の色やフォントの色を変えるもの違うし…

、と探していたらちょうどいいモジュールを見つけました!

termcolorというモジュールをインストールすると、出力に色を付けることが出来るようです!
pypi: https://pypi.org/project/termcolor/

termcolorの導入

というわけで、さっそく導入していきましょう!

「termcolor」というモジュールをpipからインストールします。

  pip install termcolor

以上でOKです!簡単だね。

Let’s 試用!

ipython上で確認していきましょう。

使い方は、文字列の入った変数に色付けをして新しい変数に入れる、といった感じですかね?

  import termcolor
print(termcolor.colored("a","red"))

以下のようにしても問題なく使えます。こっちの方が短くていいね。

  from termcolor import colored
print(colored("ai", "red"))

すると以下のように色が付く。

これで装飾できました。ぱちぱち。

….

と思ったけど、プログラムに意気揚々と組み込むと上手くいきません。

Windows向けの解決策

どうやらWindowsでは「colorama」というモジュールもインストールする必要があるようです。

参考: https://stackoverflow.com/questions/21858567/why-does-termcolor-output-control-characters-instead-of-colored-text-in-the-wind

読んでみたところ、文字コードの問題CP932ちゃんは自己主張がつよいですね~。

以下のように「colorama」というモジュールを追加でインストールします。

  pip install colorama

また、coloramaを初期化する必要があるので、import辺りに同時に突っ込んでおきましょう。多分、初期化さえされていればどこもよいのでしょう?

  from termcolor import colored, cprint
import colorama
colorama.init()
cprint("aa", "red")

ipythonでなくともちゃんと色付けされて出力出来ることが確認できました!

おめでとう。

大まかな色付けの仕方

色付けの仕方には、cprint()と、colored()の2通りがあります。

基本的に使い方は一緒で、「 cprint() = print() + colored() 」なだけですね。

文字列の一部や、変数に入れた文字列を色付けするときにcolored()の方を使えばいいってかんじですかね?

  cprint("{string}", "{text colors}", "{text highkights}", attrs=["{attributes}"])

例:

※エラー文的にも、「 cprint() = print() + colored() 」はあっているみたいですね。適当にエラーを吐かせると、以下のように表示されます。

  print((colored(text, color, on_color, attrs)), **kwargs)

使える色

色のリストは上記pypiのページにあります。上記から引用。
詳細は上記pypiに行きましょう。

Text colors:

grey

red

green

yellow

blue

magenta

cyan

white

Text highlights:

on_grey

on_red

on_green

on_yellow

on_blue

on_magenta

on_cyan

on_white

Attributes:

bold

dark

underline

blink

reverse

concealed

※attributesはwindows環境ではreverseしか利用できないことに注意。どのattributeがどの環境で利用できるかは、上記pypiのサイトに書いてあります。

上でやったけど、reverseも効いてなくね?謎だね。

一部を色付け

以下のようにしたら一部を無理やり色付けできる。多分簡単な方法はあると思うけど、正直これで問題無く使用できます。

  print(colored("[loop{0}]: ".format(self.looptimes), "red"),"Finish load lib")

まとめ

今回はコマンドプロンプトに色を付けることが出来るようになる「termcolor」を紹介しました。うまく使えば結果の視認性も上昇かもしれないですね。

ただし、Windowsユーザーの方は一緒に「colorama」も導入する必要があるので注意が必要です。若干冗長的になります。


以上です。これで味気のないコマンドプロンプトの画面を煌びやかにすることが出来るようになりました!おめでとう!

ただ、毎回、importするたびに初期化も書いてあげないといけないのが難点ですね。

とはいえ、装飾したほうが他人に渡すときは見やすくていいかもね。
もちろん、配色にもよると思うけど。

それでは、鉄火巻きでした。

Notepad++から直接Pythonを実行しよう!


こんにちは、鉄火巻です。

Notepad++は個人的にとても気に入っているエディタです。
かなり軽量で便利です。今時少ないメモリ2GBのWindows10機でももたつくことなく動かすことが出来るので貴重なエディタです。

エディタはいろいろあるのでNotepad++が一概にいいわけではありません。
知り合いにGENIEをすすめ勧められたこともあります。F5で保存&実行が可能なのはとても便利に思いました。
ちょっと揺らいだんですけど、Notepad++で関数名や変数を選択すると全部ハイライトしてくれるのはとても便利で捨てられない要素です。

というわけで、そういったNotepad++の弱点を塞いでいきましょう。
Notepad++から、直接Pythonを実行できるように設定します。

と思ったんですが以外にドキュメントがありません。

幸い、転用可能に思われるドキュメントはいくつかあったことと、知り合いの助けがあって実行できるようになりました。ということで共有していこうと思います。

概要

Notepad++には「ファイル名を指定して実行」という機能があります。この機能を利用して
仮想環境も利用できる応用的な手法です。

batファイルを作る

いきなりコードを掲載します。適宜、ファイル名を書き換えて使用してください。僕は「npp_python.bat」で登録しました。「Python.bat」や「cmd.bat」はよくないといううわさを聞いたことがあるので避けた方が賢明なようです。

@echo off
python %~f1
pause

また、venvの仮想環境を設定したい場合は以下のように指定しましょう。仮想環境を呼び出すときと同じ手順です。

@echo off
call c:\work\pywork\envs\expenv\Scripts\activate.bat
python %~f1
call deactivate
pause

また、個人的に、「pause」部分を以下のように変更すると便利です。

timeout 10

プログラムの終了後の10秒後、もしくは何かのキーを押すと自動でコマンドプロンプトの画面が閉じられます。開きっぱなしになることを防ぐことが出来ます。まあ、毎回閉じればいいんですがね…。

ともあれ、エラーコードを読むにしても30秒くらいに設定しておけば問題ないとは思います。

.batファイルをNotepad++から呼び出す

次にNotepad++側の設定をしていきましょう。
「設定(R)」→「ファイル名を指定して実行(F5)」に以下を記入します。

(.batファイルのディレクトリ) "$(FULL_CURRENT_PATH)"

入力したらこんな感じ。

「(.batファイルのディレクトリ)」部分は、「c:\work\npp_python.bat」のように、上記.batファイルのディレクトリを指定します。例えば、「c:\work\」に先ほど作成した.batファイルがある場合は以下のようになります。

c:\work\npp_python.bat "$(FULL_CURRENT_PATH)"

また、「”$(FULL_CURRENT_PATH)”」との間に半角スペースが必要です。

このまま実行してみて問題無く実行されることを確かめましょう。

問題無く実行されたら、先ほどの「ファイル名を指定して実行(F5)」のウィンドウを再度開き、ショートカットキーに設定しておきましょう。
下図の赤枠部分をクリックして、

僕は以下のように「Ctrl+F5」に登録しました。ショートカットキーは競合しなければどのように設定しても問題ないので、お好みで。既定のショートカットキーも変更できるので不要なものを削除してから登録してみてもいいかもしれません。
また、「Python」などのように何のショートカットキーなのかが分かりやすい名前も登録しておきましょう。

そうすれば、次回以降は「Ctrl+F5」を押すことで、開いているPythonのコードをNotepad++から直接実行することができるようになります。

ぱちぱち。

仕組みについて

これでめでたく実行できるようになりました。ただ、投げっぱなしもよくないので、可能な範囲で解説していきます。

Notepad++の設定

まず、Notepad++側の設定から。簡潔に言えば、Notepad++で開いているファイルのフルパスを.batファイルに渡します。

(.batファイルのディレクトリ) "$(FULL_CURRENT_PATH)"

「ファイル名を指定して実行(F5)」は名前の通り、ファイル名を指定して実行することが可能です。なので、関連付けさえされていれば何でも実行させることが出来ます。勿論.exeファイルも実行できます。

「”$(FULL_CURRENT_PATH)”」部分は、Notepad++の「ファイル名を指定して実行(F5)」のウィンドウを開いたときに使用していたタブのフルパスが入るようです。

例えば、「helloworld.py」をNotepad++で開いていた場合、「”$(FULL_CURRENT_PATH)”」部分に「helloworld.pyのフルパス」が入ることになります。「helloworld.py」を「c:\work\」に保存していた場合、「c:\work\helloworld.py」が渡されていることになります。

また、この時、”$(FULL_CURRENT_PATH)”が、作成した.batファイルの第1引数に渡されることになります。

.batファイルの仕組み

基本的に、ただの.batファイルです。詳しい方は何でもできます。
以下を解説していきましょう。

@echo off
python %~f1
pause

といっても、説明する部分は「python %~f1」位しかありません。これも.batファイルでは普通のことですが、ほかは普遍的すぎるので省略します。

「python %~f1」は、普段、「python helloworld.py」とかやって.pyファイルを開くことと同じです。

ミソは「%~f1」部分です。これは、「第1引数をファイル位置として受ける」という意味です。

もともと、「%1」で第1引数の入る場所を指定できます。例えば、「~.bat aaa」として、「echo %1」としておけばコマンドプロンプトの画面に「aaa」と表示されるはずです。

ただし、「%1」のままでは文字列として扱われ、ファイル位置として扱われません。少なくとも、僕の環境では「%1」のままではPythonのコードをNotepad++で実行できませんでした。

ここを「%~f1」とすると、第1引数をファイル位置として扱ってくれます。

前述のように、Notepad++の「ファイル名を指定して実行(F5)」で.batファイルに「”$(FULL_CURRENT_PATH)”」を第1引数として渡しているので、この.batの第1引数に開いているファイルのフルパスが渡されます。

例えば、先ほどの例だと、2行目部分が「python c:\work\helloworld.py」と同じになります。これで、問題なく実行できるようになります。

まとめ

どうでしたか?実行できるようになりましたか?
まあ、プラグインで一発で解決するらしいですけどね。
とはいえ、ここに書いてある内容をコピペすれば問題なく実行できるようになるはずです。

ただし、GENIEのように「保存&実行」が出来ているわけではありません。
そのあたりは、適宜「Ctrl+s」を押してから「Ctrl+F5」を押しましょう。押すボタンが1つ増えるだけです。
逆に保存しないと変更前のファイルが実行されるので要注意です。

これで便利なNotepad++が一層便利になりました。
個人的にとても気に入っているので今後もNotepad++民として使い続けたいですね。

それでは、鉄火巻でした。

Windows10で起動したアプリケーションが表示されない…

こんにちは、鉄火巻です。久々の更新です。

最近、Windows10を使っているとアプリケーションを起動したにもかかわらず、アプリケーション画面が表示されない問題がありました。
直近に変更した設定を見直したら改善したので共有しておきます。

 

「タスクバーをすべてのディスプレイに表示する」をオフにしたことが原因?

僕の環境では上記設定を変更したことが問題でした。

 

マルチディスプレイ環境での全画面表示でたまにタスクバーが表示されてしまっていたので、その対策に非表示にしたことが悪かったようです。

直し方は簡単。

「設定」→「個人用設定」→「タスクバー」のページを表示します。
そして、ページ真ん中あたりの「複数ディスプレイ」の項目の中の「タスクバーをすべてのディスプレイに表示する」を「オン」に戻します。

以上です。

僕の環境ではこれで問題なくアプリケーション画面が表示されるようになりました。

ぱちぱち。

 

それでは、鉄火巻でした。

新しいwebプラットフォーム「Solid」に登録してみよう!

WWW(World Wide Web)の考案者であるティム・バーナーズ=リー氏から、新しいwebプラットフォーム「Solid」が発表されました。

[目次]

概要

発表された「Solid」とはどのようなものであるかを調べてみました。

Home | Solid
f:id:kurogane-games:20181001235937p:plain
これによると、「ウェブを再形成する」ことが目的とされています。
ティム・バーナーズ=リー氏がGoogleAmazon、MSなどの超大規模な企業がweb上の情報を掌握している状態にたいして以前から懸念を抱いていたそうです。
これを打開すべく、以前からこの「Solid」の開発を進めていたようです。

「Solid」において、wwwが考案された当時の理念を復活させる、ということが目的のようです。
情報が中央集権的なサイトから提供されるのみの状況から、webブラウザから書き込みのできる、双方向的なwebを実現するためのプラットフォームとなるようです。
ホームページにも、「Solidはユーザーがインタラクティブイノベーション、コラボレーション、共有できる、読み書き可能なWebになります。」「今日存在するあらゆる機能を上回る機能を備えた新しい種類のアプリケーションを提供します。」といった、双方向性を重視した記述がされています。

ただ、無作為に編集可能でなく、web上で人物が明示されることが特徴です。
個人がデータに対して作業を行うことが出来る権限、個人が誰であるかを一意に確認するための身元確認のためのシステムが、Solidにより提供されるということです。
Solidはアクセス権とIDを組み込んだ読み書き機能を持ち、Websocketを介してデータの管理とリアルタイムの更新を可能としている、と書かれていました。

Inrupt社とは

f:id:kurogane-games:20181002002949p:plain
InruptはSolidの設立チームによって設立された商業団体でり、Solidの成功に貢献する企業であると記載されています。
ポータルとツールキットの開発に関する業務を行っているようです。
恐らく商業利用等に関する整備などを進めているのではないでしょうか。

アカウントの作成

それでは早速「Solid」に登録してみましょう。
「え、じゃあ今までの中央集権なwebと一緒じゃん」って思いますよね。
というか、思いました。

この作業は、「web上でのIDを発行する作業」と考えてよいと思います。
実際にWebIDが発行されます。

まずは、公式ホームページの「GET A POD」のページに向かいましょう。
f:id:kurogane-games:20181002004540p:plain
Get a Solid POD | Solid

SolidのPODにはプロバイダーがいます。
「Inrupt」と「Solid Community」が表示されていますね。
これは、Solidのサーバーを経営している人、といったところでしょう。

これは現段階でどちらを選んでもよいと思います。
現段階のプロバイダーは開発者向けに最低限の機能を提供している、と書かれています。
そのため、APIなどで様々な機能にアクセスすることを前提としており、昨日は最低限に抑えられています。
今回はWebIDを入手するため、右にあった「Solid Community」を押してみました。

※)僕のようなちゃんとした開発が出来ない人が求める、非開発者なユーザー向けなサービス自体はまだ提供されていないようです。
アプリケーションを色々と搭載したバージョンのサービスはもうすぐ提供されるかもしれません!期待ですね。

f:id:kurogane-games:20181002004933p:plain
押すと「Register」と「Login」が表示されたボタンが現れます。
初めて触るので「Register」を押しましょう。

f:id:kurogane-games:20181002005120p:plain
すると登録画面が押されます。

  • username:WebID表示される名前です。WebIDの表記は後述。
  • passward:任意。16桁で登録できたことは確認できました。
  • name:これはだれが登録したか、という情報です。見たところ、だれが編集した、とかを明記するための情報のようです。現状ではペンネーム的なものでもよい?
  • email:任意のメールアドレスです。
  • webID:これはアカウント作成後などに発行されます。今は入力しなくていいと思います。

それぞれ登録していきましょう。
「Register」を押すと登録が完了します。

WebID発行

Registerを押すとWebIDのURLが表示されたページが表示されます。
少なくとも、メールの確認などはメールボックスに届きませんでした。
f:id:kurogane-games:20181002011435p:plain
記載されている通り、「https://(username).solid.community/profile/card#me.」という形でWebIDが発行されています。
便宜上、ここではこの画面を「publicホームページ画面」と呼びます。

publicホームページ画面について

「publicホームページ画面」では、

  • 誰のSolidのHome画面なのか(画面左上にusernameが表示)、
  • userのデータとアプリケーションの情報

が確認できるようです。

Dataについて

まず、Dataから見ていきましょう。
「Profile」、「Inbox」、「Public Folder」の3つが閲覧可能です。
それぞれ、

  • Profile

開くと「card」というページが表示されます。
f:id:kurogane-games:20181002012900p:plain
これはWebIDの所有者に関する情報を記載できる画面のようです。

  • Inbox
  • Public Folder

f:id:kurogane-games:20181002014851p:plainf:id:kurogane-games:20181002014853p:plain
共に、機能は共通であると考えられます。

違いは、「Inbox」は「Private」という設定がついており、「Public Folder」には「Profile」と同じ「Public」という設定が付けられています。
「Private」設定は外部から「」を確認した時に、作成者としてのログインが要求されます。
これに対し、「Public」設定ではだれでも追加・編集が可能となっているようです。

「Inbox」、「Public Folder」で使用可能なツール

f:id:kurogane-games:20181002014930p:plain
現状、詳細が把握できていませんが、箇条書きしておきます。
これらの作成後、作成者のnameが表示されていました。

  • Make a new Address Book:名前の通り、電話帳を作成します。メールアドレスをなどを複数追加可能のようです。

Make new Notepad:ノートを作成します。これは普通にノートです。
Make new Chat:チャットを作ります。これは古いwebチャットのような画面でした。
Make new Long Chat:これはメッセージアプリのようなチャット画面が出来ます。日付などが表示されるので、期間的にLongなチャット用でしょう。
Make new Meeting:これはいつ、どこでmeetingをします、という告知用のようです。
Make new Schedulable Event:カレンダーのようにも見えますが?
Make new Link @@
Make new Dokieli Document:これは「Dokieli」というタイプのドキュメントを書くことが出来るようです。
Make new folder @@:これはツールを入れ子状にできます。名前の通りフォルダでした。
Make new source @@

すいません、あまりよくわかっていないので、分かり次第順次追加していきます。
ただ、同名のツールを追加することは出来ないようです。

「publicホームページ画面」を外部から見た様子

外部からはpublic設定になっている「card」と「Public Folder」が閲覧出来ました。
試しに別のブラウザから表示してみましょう。
f:id:kurogane-games:20181002011435p:plain
外部から表示される「publicホームページ画面」と、ログイン後に表示される画面は同等でした。

また、「Inbox」の表示にははWebID所有者としてのログインを要求されます。
f:id:kurogane-games:20181002013918p:plain

その他、「Public」設定の画面は閲覧可能でしたが、編集には「Solid」にログインしておく必要がありました。

動作環境(?)

ちなみにブラウザはedgeでは正常に動いていません。
少なくとも、Public設定の「card」と「Public Folder」は真っ白な画面が表示されました。

また、日本語入力は問題なく行うことが出来ました。

余談 - 匿名性とは相反するのか?

今回は試しにWebIDを作ってみました。
現状、僕の力量では全貌が把握できず、編集可能なwebページという範囲です。
wikiページと異なる点は明確に所有権がある、ということですが、公開されている範囲では最低限の機能に抑えられているため、新鮮さはさほど感じられませんでした。

しかし、web上で「個人」が明確となることは、「炎上」などのネット特有の問題を解決するにあたっては有用かもしれません。
こちらと相手の顔が明確でないため、過剰な行動に出てしまいますが、「個人」が明確となることが、ある種の抑止力となるかもしれません。

ただし、ネット上は匿名であるべき、という考えは比較的広まっている考えです。
この匿名を望むweb上の住人と、Solidをはじめ、個人を特定する派閥とでは、中央集権に縛られない、という面では似た概念であると思われます。
ただ、「個人」の有無については明確な差があるため、ティム・バーナーズ=リー氏の望む中央集権的なwebが解消されたとしても、その先には「匿名」との争いが始まるかもしれません。

Android端末上でもPython3を動かすことが出来る「Pydroid 3」

こんにちは、鉄火巻です。

Pythonの勉強をちょっとだけやっています。
ただ、開発環境がPCに限られているので、家でしか実行できないという部分が問題でした。

そこで見つけたのがPyroid 3です。

play.google.com

「Pydroid 3」で何が出来るのか

これはオフラインで動くPython 3.6にIDEのようです。
僕自身が把握できている特徴としては、

といったところでしょうか。

端的にまとめると、僕程度の素人であれば大抵のことは出来ると思われます。

インストール

GooglePlayで「pydroid」と検索すれば「Pydroid 3 – Educational IDE for Python 3」というアプリが出てきます。
play.google.com

普通にインストールします。
f:id:kurogane-games:20180926001731p:plain
容量は41.85MBでした。意外と軽量。

Android 4.4以上に対応しているので、それより古い端末では利用できません。
とはいえ、4.4 KitKatはリリース日が2013年10月31日なので、今時の端末であればそもそも気にする必要はないでしょう。
古い端末を再利用するときだけ気を付けてください。

ちなみにアイコンはこんな感じ。
f:id:kurogane-games:20180926002316p:plain

起動するとインストールが始まります。
しばらく待ちましょう。
f:id:kurogane-games:20180926002530p:plain

また、C++IDEをインストールしてみてね、って出てきます。
f:id:kurogane-games:20180926002516p:plain
多分、インストールはしなくてもいいと思われます。

インストールが終わればIDEの画面が姿を現します。
普通のエディタとおおよそ同じですね。
f:id:kurogane-games:20180926002636p:plain

Hello World“してみる

まずは”Hello World“をしてみましょう。
単純に、

print("Hello world")

で実行します。

実行するときは右下の黄色の再生ボタン(▶)を押しましょう。
実行すると、コンソール画面に切り替わります。
ちゃんとprint()文が働いてくれていますね。
f:id:kurogane-games:20180926003003p:plain

今回はこの辺で。
次回はpipを使ったパッケージのインストール、外部ファイルの読み込みなどを試してみたいと思います。

それでは、鉄火巻でした。

モバイルゲーミングPC「SMACH Z」とはどういう端末なのか

こんにちは、鉄火巻です。

以前からにわかに噂されていたモバイルゲーミングPC「SMACH Z」ですが、
東京ゲームショウで展示ブースがあるそうです。

ですので、「SMACH Z」のスペックなどについておさらいしてみましょう。

[目次]

基本スペック

基本スペックについてはホームページに記載があります。
以下はホームページから抜粋

APU AMD Ryzen™ V1605B with AMD Radeon™ Vega 8 Graphics
メモリ 4 GB DDR4 2133MHz SODIMM
ストレージ 64 GB HD SSD m.2
ディスプレイ FullHD Touchscreen 6” 1920×1080
Wi-Fi 802.11 b/g/n/d/e/h/i
Bluetooth v2.1+EDR/v3.0/v3.0HS/v4.0
インターフェイス USB-C, USB-A, Micro USB, Display Port, SD card, Audio minijack
充電 Charger USB-C 20V 3A 60W. Plug EU/US/UK/AU
OS SMACH OS Linux based distribution
Shell(外観) Black Frontal Shell

また、ショップでは基本スペックで80,910円と表記されています。
これは予約時のみの価格で、10%オフになっているとのこと。
通常価格は89.900円のようです。

上から順に。

APU

APUは「AMD Ryzen™ V1605B」
これは組み込み用のAPUです。
基本情報は
4C8TH、
TDPが15W、
クロックは通常2.0GHz、ブースト時3.6GHz、
グラフィクスとしてRadeon Vegaを8基積んでいます。

CPUベンチマーク

以下のサイトにベンチマークがありました。
AMD Ryzen Embedded V1605B vs Intel Core i5-8350U
これによると、シングルスレッド性能とマルチスレッド性能が「Intel Core i5-8350U」に1割ほど劣る性能のようです。

AMD Ryzen™ V1605B Intel Core i5-8350U
Cinebench R15 CPU Single 64Bit 142.15 154.59
Cinebench R15 CPU Multi 64Bit 455.56 496.78

また、デスクトップPCのCPUと比較すると、は「Intel Core i3 8100」とほぼ同等。
Intel Core i3-8100 vs. Intel Core i5-8250U – Benchmark & CPU Comparison – compare CPU at cpu-monkey
確かにゲームをプレイする最低限のCPU性能は確保できているようです。

ちなみにPassmarkにはスコアはありませんでした。

グラフィクス

上記の通り、Radeon Vegaを8基積んでいます。
これが何かというと、Ryzen 2000Gシリーズの「Ryzen 3 2200G」と同等です。
以下のURLを参考にすると、Intelの内臓GPUと比べてかなりの高性能のようです。
【レビュー】【本日発売】GPU内蔵になったRyzenの性能をベンチマーク – PC Watch
「Ryzen 5 2400G」「Ryzen 3 2200G」レビュー。デスクトップPC向けRaven Ridgeはゲーマーの選択肢になるか? – 4Gamer.net

勿論、Ryzen 3 2200Gはデスクトップ版なので単純比較できませんが、Intel製のCPUを積むGPD WINなどと比べれば高性能なのではないでしょうか。

メモリ

これは4GBがデフォルトになっています。
実際のところ、4GBは今のWindows10では最低限の水準です。
ブラウザの起動などについてはおおよそ通常通り使用できるでしょうが、ゲームをプレイするにあたっては足りないようには感じます。
軽量なゲームであれば十分かもしれませんね。

メモリ容量に関しては下記のカスタマイズで8GB、16GBに変更できます。
8GBに増やせば最低限ゲームは出来るようになると思われます。

ディスプレイ

これは6インチサイズのフルHDです。
今時の大きめのスマホとほぼ同等と考えてよいでしょう。

また、タッチスクリーン搭載です。
とはいえ、PCゲームでタッチスクリーン対応のゲームはそこまで多くありません。

恐らく、タッチスクリーンはスマホと同等の使い方になるのでしょう。
見たところ、キーボードが折りたたまれているといった様子はありません。
また、公式サイトにもキーボードに関する情報は見られなかったので、文字入力などに利用するのでしょう。

Windows10のタブレットモードで使用できるタッチキーボードにはフリック入力も搭載されているので、入力もそれほど問題にはならないのではないでしょうか。
まあ、僕はフリック入力できないんだけどね…。

ワイヤレス系

ワイヤレス通信についてはあまり明るくありませんが、ざっと見たところ、よく使われているものはおおよそすべて載っている、といった印象です。
SMACH ZはおおよそWi-Fiでの通信が通常使用の回線となると思われるので、一通り搭載されていることはうれしいですね。

また、Bluetoothはv4.0に対応しています。
モバイルルーターなどの場合、v4.0が使用されているので、これらも使用可能でしょう。
ですので、外出時でも利用しやすくなっていると思われます。

その他

充電は今時のUSB Type-Cです。
最近はUSB Type-C搭載の機種も増えてきたので、スマートフォンと充電器、モバイルバッテリーを共有できると思われます。
そういう意味では、USB Type-Cの普及もPC界に恩恵が出ていると言えますね。

スペック違いの3種類

公式ホームページには「SMACH Z」は3種類表示されています。

SMACH Z SMACH Z PRO SMACH Z ULTRA
メモリ(GB) 4 8 16
ストレージ(GB) 64 128 256
カメラ 5 MP 5 MP
価格 89,900円80,910円 119,500円107,550円 144,500円130,050円

ゲームすることを考えればメモリは最低限は8GBのスペックのものを購入したいところですね。
Windows10自体もそこそこのメモリを使用することになっているので、8GBほど確保しておけばこのスペックで動作するゲームにとってはある程度事足りると思われます。

また、ストレージに関してもSDカードスロットがあるため、最小構成の64GBなどでもゲーム自体には問題はないかもしれません。
勿論、容量の大きなゲームをする場合は、高速な内蔵ストレージを足しておいた方がいいと思われます。

構成の変更

公式のストアページからBTO的に構成を変更できることが分かります。
以下はホームページに表示されていたオプション群です。
変更可能な部分は、メモリ、ストレージ容量、カメラの有無、OS、shell(外観)の5か所です。

メモリ

4GB 8GB 8GB(Dual Channel) 16GB
価格差(円) +10,350 +13,050 +21,600

メモリは8GB以上のものを選んだ方が無難に思われます。
その場合、価格は少なくとも91,260円となります。
ちょっと高いですね。
4GBの追加で1万円近く値段が上がるのは、もしかしたら内部ははんだ付けのタイプのメモリなのかもしれません。
そうであれば、後々追加できない可能性があるので、元から目的のゲームがどれくらいのメモリ容量を必要とするのかを把握しておいた方がいいかもしれません。

ストレージ

64GB 128GB 256GB
価格差(円) +10,350 +21,600

これについてはSDカードで賄うことが出来るかどうかとなります。
上でも書きましたが、大容量のゲームの場合、ストレージ速度が炉度時間に影響をもろに与えます。
ですので、ゲームの必要容量が大きいタイトルがしたければ、元から大容量のものを選択しておいてもいいかもしれません。

また、ストレージはM.2と書かれているため、ガワを開けることが出来れば自分で交換することが出来るかもしれません。
これは発売後の人柱になってくれる方を期待するしかありませんね。

カメラ

5 MP
価格差(円) +5,940

これはゲームによっては必要かもしれません。
ただ、カメラ位置がホームページなどでは確認できませんでした。

インカメラであれば、SkypeやDiscordをしながら顔を撮影できますし、実況動画の撮影なども単体で録画できるので便利かもしれません。
ただ、フロントカメラであればほとんどの場合不要と思われます。
しいて言えばARなどの用途でしょうか。

OS

SMACH OS Windows 10 Home
価格差(円) +11,610

OSは「SMACH OS」と「Windows 10 Home」の2つから選ぶことが出来ます。
「SMACH OS」はLinuxをカスタムしたOSのようです。
Linuxでも多くのゲームが稼働するようですので、超メジャーなゲームであればプレイできると思われます。

また、先日SteamからLinuxでもより多くのゲームをプレイできるようになる、Protonというツールが配布されました。
kurogane-games.hatenablog.com
これはLinuxWindows用ソフトを起動することが出来るようになるWineというプログラムをSteam側がカスタマイズしたものとなります。
そのため、SMACH OSでも大抵のゲームはプレイできるのではないでしょうか。
OS自体は恐らく手動でインストールできると思われますので、後から購入してもかまわないでしょう。

shell(外観)

Deep Black Radioactive Green Indigo Pearl White Red Fire Zombie Golden
価格差(円) +3,600 +13,500

外観でも、一部のモノはお金がかかります。
ZombieとGoldenは恐らく塗装の仕方が特殊なのでしょう。
その他の色はお金がかからないので、好きな色にしていいでしょう。

結構性能も高く、使い道も多そうですね。
しいて言えば値段がネックですが、これは対抗機(?)であるGPD WIN2なども高価なため、この類のPCの購入を検討している人にとってはそれほど問題とはならないでしょう。
また、カスタマイズ自体は可能なようなので、お財布と合わせて注文すればいいと思われます。

というか送料はどうなるんでしょうか?
日本円表示がされているくらいなので、最低限、代理店は出来ると思われます。
発売が楽しみですね。

それでは、鉄火巻でした。

python-pptxインストール直後にエラーが出たときの対処法

こんにちは、鉄火巻です。

 

今回はプログラミング系の記事。

python-pptxインストール直後にエラーが出たときの対策を書こうとと思います。

概要

 PythonからPowerPointファイルを生成しようとしたらいきなりエラーを吐きました。

まずはインストール 

pip install python-pptx

次に下のGetting Startedの「Hello World! example」の実行でエラーがいきなり出ました。
Getting Started — python-pptx 0.6.13 documentation

エラー1「lxmlモジュール」

ImportError: cannot import name 'etree' from 'lxml'

これは以下を実行したら改善(?)した。

pip install lxml -U

バージョンとかの問題だったのかな?

エラー2つ目「Pillowモジュール」

上記の「lxml」モジュールの問題が解決したら次に以下の問題が出た。

ImportError: No module named Image

同じくアップグレードをかけても解決しなかったので、再インストールを試みたら問題無くGetting Startedの「Hello World! example」が実行できた。

pip uninstall Pillow
pip install Pillow

これは何が問題だったのかは不明。
少なくとも、Python自体を再インストールしたら改善した、ってのをweb上で見つけたので、代わりにモジュールを再インストールしてみたらうまくいった。

これで問題無くPythonからPowerPointファイルを生成できるようになりました。

ぱちぱち。

それでは、鉄火巻でした。

Athlon 200GEの性能はどの程度になるのか?詳細スペックとベンチなど

こんにちは、鉄火巻です。

Zenコアが搭載された低価格APU「Athlon APU」AMDより発表されました。

[Amazonでの購入はこちら]

AMDが低価格帯CPUで巻き返すことはできるのでしょうか?

リークや発表から判明した詳細スペックと、ベンチを見ていきましょう。

[注意!]現在、一部マザーボードにて、映像端子の一部が使用不可能になる例が報告されているようです。

下記のAsrock社のA320M-HDVでは、DVI端子が使用不可(BIOSバージョン:P4.80)になってしまうようです。

製品により使用不可になる端子も異なるので是非確認の上、ご購入ください。

詳細: https://www.ask-corp.jp/supports/amp/amd-athlon-200ge-cpu-video-output.html

 

[目次]

概要

f:id:kurogane-games:20180908035738j:plain

2018年9月6日にAMDより、Athlon APU」の発売が発表されました。

今回発表されたAthlon APU」は「Zen」コアと「Vega」グラフィックス・アーキテクチャを搭載したAPUになります。

公式サイトなど

Athlon 200GEが公式サイトに載っていました。

デスクトップ用AMD Athlon™およびAMD Aシリーズ・プロセッサー | AMD

また、公式発表のページも追加しておきます。

www.amd.com

詳細スペック

リーク、発表内容を合算したもの。

おおよそ判明している情報はフルで情報が入っているかと。

Athlon 200GE
Zen アーキテクチャー世代 Raven Ridge(第2世代)
製造プロセス 14nm
ソケット AM4
コア数/スレッド数 2/4
ベースクロック 3.2GHz
ブースト最大クロック 不明 なし(3.2GHz)
L1 Data キャッシュ 64kB(32kB*2)
L1 Inst.キャッシュ 128kB(64kB*2)
L2キャッシュ 1MB(512kB*2)
L3キャッシュ 4MB
iGPU Radeon(Vega)×3基
GPU最大クロック 1000MHz
メモリサポート DDR4-2933
TDP 35W
価格 $55

やはり目を引くのはこのAPUの本質である第2世代Zenアーキテクチャ搭載かつ、Vega搭載のあたりですね。

この辺はベンチで見ていきましょう。

また、TDPがかなり抑えられています。

35Wってシステム全体で白熱電球以下に抑えられそうだね。

あとは値段でしょうか。

他のZenアーキテクチャ搭載CPUと比べて露骨に値段が抑えられています。

追記

ホームページでスペックが公開されています。

f:id:kurogane-games:20180926163026p:plain

AMD Athlon™ 200GE APU | AMD

おおよそ、リーク通りでしたね。


[ソース]

https://www.4gamer.net/games/300/G030061/20180905032/

https://www.overclock3d.net/news/cpu_mainboard/amd_reveals_their_athlon_200ge_apu_with_vega_3_graphics/1

https://www.overclock3d.net/news/cpu_mainboard/amd_dual-core_quad-thread_athlon_200ge_with_vega_graphics_appears_on_sisoftware_database/1

http://www.benchmark.pl/aktualnosci/amd-athlon-200ge-zapowiedz-premiery-procesora-cena-i-specyfikacja.html

公式ベンチ

発表での比較対象のCPUはIntelのPentiumG4560 となっています。

色々とベンチの結果が示されているのでひとつづつ見ていきましょう。

GPU性能、CPU性能、ワッパの概要

f:id:kurogane-games:20180908040009j:plain

言いたいことはG4560と比べてCPU性能はほぼ同等、グラフィック性能を加味すれば1.6~1.7倍くらいしているってことでしょう。

Vega搭載がゴリゴリに効いていますな。

あと、ワッパがG4560の倍です。

この辺りはZenアーキテクチャの恩恵などもあるでしょう。

Vega自体はそこまでワッパはよくないと聞きますので、Vegaが3基に削減されたのはワッパを考慮してのことなんでしょうか?

このワッパ部分はTDPからも読み取れます。

性能がほぼ同等、かつ、TDPは「200GE」が35W、「G4560」が58Wなのでそもそもの消費電力の基準が違います。

ノートPC搭載CPUのレベルまでTDPが下がっていますね。

ベンチ一覧(CPU性能など)

f:id:kurogane-games:20180908041239j:plain

その他性能比較です。

明らかに言えることは、以前からあるAPUのAMD A6-9500E」の2倍の性能になっている点です。

明確にAMD側の低価格CPUの性能が上昇していることが分かります。

ただし、G4560との比較ではいまいちパッとしません。

システム面で有利なことと、Blenderが使いやすいことはわかりますが、それ以外は若干劣るもしくはほぼ同程度なので、CPU性能のみに注目した場合、G4560→200GEの乗り換えはほぼ無意味でしょう。

内臓GPU性能

f:id:kurogane-games:20180908042420j:plain

ゲーム性能についても比較があります。

これはG4560と比べて明らかな性能差があります。

いわゆるeスポーツ的なタイトルにおいて、HD画質でおおよそ60fpsを出せています。

これは「9500E」はもちろん、Intel側の「G4560」に対してもかなりの性能差を見せつけることが出来ています。

[追記]

公式サイトでもeスポーツについてHDでプレイ可能という部分を売りポイントにしているようです。

“最も人気の高いesportsゲームのHD 720pでのプレイが可能”

デスクトップ用AMD Athlon™およびAMD Aシリーズ・プロセッサー | AMD

内臓GPUを使わないゲーム性能

f:id:kurogane-games:20180908043001j:plain

こっちはベンチのあたりから察することもできますが、すべて「G4560」に負けたという結果です。

また、さすがにGPU性能が優先されるゲームプレイでは「9500E」とも大差ありません。

少なくとも、グラボを積んだ場合でも「G4560」と同程度のボトルネックと考えてよいでしょう。

ベンチマークの値(2018/09/15追記)

公式発表の脚注にベンチマークの値が書かれていました。

www.amd.com

以下はその値を書いただけのものです。

Cinebench R15 nT

(マルチプロセッシング性能)

PCMark10 Extended

(システム性能)

3DMark11パフォーマンス

(グラフィックス性能)

Athlon Pro 200GE 357 2547 2039
Pentium G4560 368 2143 1222

ベンチマーク時の構成

CPU Athlon Pro 200GE Pentium G4560
マザーボード MSI B450 Tomahawk MSI B250 GAMING M3
メモリ 16GB(DDR4-2666, デュアルチャネル)
グラフィックス Radeon Vega 3 Intel HD Graphics 610
グラフィックスドライバ AMD Software version 18.7.1 24.20.100.6194
OS Windows 10 Pro
SSD Samsung 850 PRO 512GB

AMD Athlon PRO 200GE?

PROシリーズはビジネス向けモデルだそうです。

上記公式発表のサイトには特に違いがみられませんでした。

非公式ベンチ

海外ではすでにベンチマークが行われています。

Passmarkスコア

ちなみに、比較対象の「G4560」のPassmarkのスコアは4879です。

なので、「200GE」もおおよそ4500~5000になるでしょう

f:id:kurogane-games:20180908045717p:plain

これはそもそも結構高い方になります。

比較としては現行のノートPCのi3~i5の辺りなので、ノートPCと比べると超格安でミドルレンジのスペックが手に入ることになります。

しかも前述のゲーム性能も考慮すればかなりバランスが良いと言えるかもしれません。

[追記]

Athlon 200GEのPassmarkのスコアも公開されていました。

f:id:kurogane-games:20180926164929p:plain

Passmarkでは 5261と、比較対象のG4560より高いスコアとして設定されています。

おそらく、グラフィクス性能も含まれているので、この部分が差をつけているのでしょう。

参考としては「Pentium G5400」のスコアは5249です。

Passmark的にはG5400とほぼ同等という評価のようですね。

G5400の方が純粋なCPU性能は高いので、この辺りが不利ではあります。

最安で組むとしたら?

Athlon 200GE」のソケットがリークでAM4とわかっているので、AM4でほぼ最安構成でパーツをそろえてみましょう。

値段によってはゲーム機として安く導入できる期待が持てます。

ゲーム機並みに安くなればいいね。

おおよその値段は、

CPU (Athlon 200GE) $55  (約6,105.61 円  -9/7 19:39 UTC)
メモリ (PATRIOT PVE44G213C4GY PC4-17000 4GB) 4,750円
マザボ

(ASRock A320M)

ASRock A320M-HDV

4,980円

5,812円

ケース+電源 (サイズ OSIRIS2) 5,832円
SSD (Kingston 120GB SA400S37/120G) 3,500円
約24,000円約26,000円

[2018/0915追記]コメントの指摘の通りASRock A320Mは映像端子がないのでこの構成では利用できませんでした。訂正してお詫び申し上げます。

 合計およそ2万6千円!!

安いね。PS4やswitchより安いね。

ゲームタイトルによってはゲーム機より200GE搭載機の方がいいだろうね。

OSは…頑張って確保してくれ。

OSが余ってたらゲーム機よりも汎用性があっていいと思うね。

まあ、みんな口を揃えてデスクトップはでかいっていうけどね…。

その他予想情報

ちなみに、比較に使われたG4560ですが、最新世代ではありません。

kurogane-games.hatenablog.com

以前調べたときの記事ですが、G5400と本来は比較すべきでしょう。

若干の差異とはいえG5400vsG4560で5%くらいの性能差があるので、vsG5400でAthlon 200GEが10%ほど性能が落ちる可能性もありますね。

なので、純粋なCPU性能に関しては以前、Intel側が有利です。

あと、Pentium側も第7世代からPentiumも2コア4スレッドです。

このことを考えると、他のZenアーキテクチャ採用のCPUの持っていたアドバンテージであるスレッド数も特に強みではありません

もともとIntel側の方がシングルスレッド性能は高かったしね。

消費電力

とはいえ、売りの一つとしてワッパが倍になっているので、消費電力的な観点からはG5400にも十分に太刀打ちできるでしょう。

それこそ、YouTubeなどを見る程度であれば、家電的な立ち位置としてはAthlon200GEの方が有利になります。

日常的な利用にはAthlon200GEの方がいいかもしれません。

[追記]

消費電力についてもベンチマークが取られています。

https://static.techspot.com/articles-info/1698/bench/Power1.pnghttps://static.techspot.com/articles-info/1698/bench/Power2.png

アイドル時:25W

最大消費電力:67W

[ソース]https://www.techspot.com/review/1698-amd-athlon-200ge/

デスクトップPCなのにかなり低消費電力ですね。

まあまあのスペックですがこれならご家庭でも消費電力を(そこまで)気にせず使用できそうですね。

グラフィックス性能

また、Athlon 200GEはIntel側に内臓GPU性能でかなり対抗できます。

なので、上記ベンチ結果にもありましたが、HD画質のゲームプレイに対しては60fpsを超えていることは十分に実用的な範囲です。

安価なゲーム機としても導入しやすいでしょう。

ゲームプレイ

Athlon 200GEの内臓GPUでゲームをプレイしている方(TechEpiphanyさん)がいらっしゃいましたので、主要なゲームを張っておきます。

PUBG

HD画質でおおよそ30FPS前後といったところでしょうか。

最低限はプレイできそうです。

www.youtube.com

Fortnite: Battle Royale

HD画質なら60FPSはでています。FHDにしても30FPS前後は出るようです。

www.youtube.com

GTAV

HDで60FPS前後、FHDもで40FPS位出ますね。

www.youtube.com

長くなりそうなのでこの辺りで。

気になる人はTechEpiphanyさんの再生リストを見てみてください。

www.youtube.com

また、Athlon 200GE Vega 3 」で検索すると、目当てのタイトルでプレイしている人が見つかるかもしれません。


以上。

今回は発表とリークの情報を合わせて「Athlon 200GE」の性能がどれくらいかを予想(?妄想?)しました。

前情報通りであればPCゲームの入門機に最適といえるでしょう。

かなりおすすめになるかもね。

技術の進歩は偉大だわ。

というか、低価格+全方向へのノーマル性能+高ワッパを考えると、低価格PC界を蹂躙(?)することは出来るかもしれません。

まあ、個人的な予想ですが…

それでは、鉄火巻でした。

[Amazonでの購入はこちら]

Steamの公式配布ツールでLinux環境でのゲームが一部プレイ可能に

こんにちは、鉄火巻です。

 

SteamからLinux向けに、Steam Playのβ版と、Protonというツールが配布されました。

steamcommunity.com

 

ProtonはWineの改良版で、多くのゲームが動くように調整されているようです。

今まで、ユーザー側がWineを使用して動作させていたWindows専用ゲームを、公式で実行出来るかもしれないツールが配布されました。

これによって、Linuxユーザーは、より多くのゲームをプレイできるようなることが期待されます。

 

導入時の準備

Linux Steam Client Betaに参加

・ドライバが最新であることを確認

GitHubにある説明通りに作業を進める(SteamOSの場合は不要)

だけすればいいそうだ。

現時点でβ版にのみの配布なので、1つ目の参加は必須かと。

 

オープンソースだそうで

また、オープンソースプロジェクトのようで、以下からソースコードが入手可能です。

github.com

自分でビルドしたり、ディスカッションに参加したり、もろもろをする方はGitHubへ。

言語はPython

Python2.7と書いてあるファイルは含まれていました。

 

対応タイトル

上記の公式を参照。

・Beat Saber
・Bejeweled 2 Deluxe
・Doki Doki Literature Club!
DOOM
DOOM II: Hell on Earth
DOOM VFR
Fallout Shelter
FATE
FINAL FANTASY VI
・Geometry Dash
Google Earth VR
・Into The Breach
・Magic: The Gathering – Duels of the Planeswalkers 2012
・Magic: The Gathering – Duels of the Planeswalkers 2013
・Mount & Blade
・Mount & Blade: With Fire & Sword
・NieR: Automata
・PAYDAY: The Heist
QUAKE
S.T.A.L.K.E.R.: Shadow of Chernobyl
Star Wars: Battlefront 2
Tekken 7
・The Last Remnant
Tropico 4
・Ultimate Doom
Warhammer 40,000: Dawn of War – Dark Crusade
Warhammer 40,000: Dawn of War – Soulstorm

また、公式アナウンスのコメントや、GitHubのIssueなどで個人の報告などのあるようです。

Linux利用者は要チェックだね。

 

 

Linuxでもゲームがもっとできるようになるんだね。

なんというか、先輩にLinuxを超進められているんだけど、断る理由としてゲームするから、って言ってたんだけど、より断りづらくなるねぇ。

その人がWine嫌いなので、Wineに基づいたツールだといえばいいとは思うけどね。

 

それでは、鉄火巻でした。

 

RTXシリーズがVRにもたらす恩恵

こんにちは、鉄火巻です。

 

RTXシリーズについての記事第2弾。

前回の記事はこちら

kurogane-games.hatenablog.com

 

今回はVR関連の記事が公式にあったのでその辺から抜粋。

こちらを参考。

blogs.nvidia.com

 

 

 [目次]

 

リアルタイムレイトレーシング

 押し押しのリアルタイムレイトレーシング

前述通りの機能。

VRではリアルさと乖離が少ないほど没入感が大きくなる(個人的な感想)ので、光の向きにリアルさが加わることで、不自然な光がVR体験を妨げなくなるかも?

意外と人間の感覚って鋭いから、不自然な光の動きは意外と気になるもの。

なので、結構期待できるね。

 

NVIDIA VRWorks Audio SDK

これまMaxwell世代から搭載されていますが、音の位置シミュレートに関係しているらしい。

Turningに搭載されたRTコアでは従来の世代tと比較して6倍の高速化を実現しているとのこと。

スペックに余裕が出来るってことかね?

 

可変レートシェーディング(VRS)

処理に緩急をつけるやつ。

つまり、ごちゃごちゃしているところは、詳細に描くからちょっとフレームレートを落とすよ、って感じかと。

ページには視線追跡を組み合わせることで、視野外のフレームレートを下げることが出来る、って書いてある。

そもそも視線追跡が搭載されているVRヘッドセットってそんなにあったっけ?

 

マルチビューレンダリング

これは多角からのレンダリングを行うってこと。

説明を読む限り、今までのレンダリングは視野を4つの角度に分割して、左右合わせて4つの角度からの像をVRヘッドセットに次ぎ合わせて表示していたものを、倍の8つの角度からレンダリングを行うようになるらしい。

ということは、ものを見ている方向と、ものの見え方が以前より正確になるんだと思う。

超広角のVRヘッドセットもちょいちょい出始めているので、視野の端っこまで、ゆがみが正しく表現されるようになるってことでいいのかと。

超広角のVRヘッドセットが、よりリアルになるってことだね。

https://blogs.nvidia.com/wp-content/uploads/2018/08/20-vr-realism.png

 

USB-C搭載

まさかのUSB端子搭載になるんだと。

ヘッドセットとの接続をこれ1本に集約することが目的と思われる。

確かに、USB-C端子は帯域の広さ、供給可能電力、グラボなどと接続可能、といった面からも十分な機能を持っているように思う。

便利になるね。ただ、初心者の人が差し間違いをしそうかな、とは思う。

https://blogs.nvidia.com/wp-content/uploads/2018/08/20-virtuallink--400x400.png

技術的には「VirtualLink」というものかかかわっているらしい。

VirtualLink™ Consortium

nVIDIA、VALVE、oculus、AMDMicrosoftと大御所が関わってる技術だそうだ。

地味にIntelが関わってないのは意外。

 

余談

VRも第2世代が出てきそうだね。

VIVE Proとはか純粋にスペックアップだし、そろそろガラッと変わったVRヘッドセットが出てくるかもね。

僕が知らないだけで、出てるかも?

 

 

それでは、鉄火巻でした。