top-banner

MacのPython環境でtkinterを使えるようにする

近頃、pythonを勉強中なのですが、それは突然やってきました。
pythonの技術本に記載されているコードをコピーして実行したところ、tkinter が使えないではありませんか!そんなモジュールは無いと怒られます😓
『いやいや、そんなはず無いじゃん。面倒くせえなぁ、変な文字コードが入ったか🌝?』と思って色々修正してみたのですが 、エラーは解消されません。

困ったときのGoogle先生でエラーメッセージを調べたところ、Macpython環境を使っていると遭遇する事象の様です。
解決手順が分かりましたので備忘録として残します。
また、解決にあたり下記のサイトを参考にさせて頂きました。
【Python】tkinterのアップデート失敗した備忘録【インポートエラー】 | 科学のメモ帳


本記事は Homebrew と pyenv の環境を想定しています。
構築手順を知りたい方は以下の記事からどうぞ。
spacegeek.hatenadiary.com



目次


Pythonのアンインストール

pyenv でPythonをインストールしていましたので、pyenvでPythonをアンインストールします。

%  pyenv uninstall 3.8.5



Tcl/Tkのインストール

Hombrewからtcl-tkのパッケージをインストールします。

%  brew install tcl-tk


python-buildを修正

python-buildというファイルの中身を書き換えます。
まずは、pyenvのバージョンを調べます。

%  pyenv --version
pyenv 1.2.27


次にFinder上で、shift + command + G と入力します。
そうすると、ディレクトリパスを入力するポップアップが開きます。
ここで先ほど調べたバージョンを元に以下のようなパスを入力します。
/usr/local/Cellar/pyenv/version/plugins/python-build/bin/

f:id:spacegeek:20210522173924p:plain

該当のディレクトリが開くと、python-build というファイルがあるので、これを適当なエディタで開きます。(私は、CotEditorを使いました。)
ファイルを開いて、782行目に
-with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'
という文字列を追加します。

変更前
$CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1

f:id:spacegeek:20210522174345p:plain

変更後
$CONFIGURE_OPTS --with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'
${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1

f:id:spacegeek:20210522175156p:plain


Python再インストール

pyenv でPythonを再インストールし、pyenv versionsコマンドでPythonがインストールしたバージョンに設定されていることを確認します。

% pyenv install 3.8.5
% pyenv versions
  system
* 3.8.5 (set by /usr/local/var/pyenv/version)


tkinterの確認

import tkinter があるファイルを実行します。
エラーが出ずに実行できたら成功です。
f:id:spacegeek:20210522175950p:plain

ハセガワ 1/200 スペースシャトル オービター 製作 #5

前回はこちらから↓ spacegeek.hatenadiary.com

 
目次

 

ディテールの再修正(機尾の姿勢制御用のスラスター 1)

機尾の姿勢制御用のスラスターの箇所をプラ板で作り直したことにより、変な隙間が発生しましたので、隙間をどうにかして埋めますw。

まず、隙間を埋められそうなものが無いかを実機写真を見ながら、探しました。
すると、なんてことでしょう!(←某リフォーム番組ナレーション風?)
まさしく隙間を埋める為だけに用意されているようなディテールが、実機にはあるではありませんか!!。 ということで早速、1mm厚のプラ板を使い上記の写真を参考に、ほぼ雰囲気で以下の寸法で作りました。
 
画像:NASA提供 *図面の寸法の単位はすべてmm(ミリ)です


エッジの部分はヤスリで斜めに加工しました。加工後は、該当の箇所に貼り付けます。

次に、エポキシパテで隙間が埋まるように盛って整形していきます。ついでに造形がおかしかった部分もまとめて修正します。
 

本当はポリパテを使おうと思ったのですが、買い溜めしてあったエポキシパテかラッカーパテしかなかった為、 しょうがなく?エポキシパテ(タミヤの高密度タイプ)を使うことにw。

タミヤの調色スティックの平たい方をヘラとして使いました。
今回使用したパテは、物にひっつきやすい性質があるので、適宜ヘラ?(調色スティックの平たい方)に水を付けながら整形すると案外素直に整形できます。

ある程度まで整形できたら、硬化するまで待ちます。 硬化後ナイフで断面を整えたのですが、今度は削り過ぎて角のエッジが甘くなってしました。
再度修正するために次はポリパテ(←結局、買いましたw)を、そして穴埋めにラッカーパテを使い、
結果として?パテの3種盛りwで上手く修正ができました。
 

では、今回はこの辺りで!

 
続きはこちらから↓

spacegeek.hatenadiary.com

Amazon Kindle Unlimitedを契約してみた

最近、仕事をしていてスキル不足感が否めない状況に遭遇するようになりました😱
IT系のエンジニアとして業務時間外で自分のスキルアップの時間を確保するのは必須です。
そうでないと、すぐに市場価値の無いエンジニアになってしまいます😵

さすがに市場価値の無いエンジニアにはなりたく無いので、スキルアップを主目的として自分への自己投資を始めてみることにしました。
しかし何から投資すれば良いのかがわからなかったので、 技術本を読み始めてみることにしました。
しかし、紙の技術本は

  • サイズが大きく、普通に買って置いておくにはかさばる。
  • 読み終わると、用無しになるパターンがある。
  • ハズレを引いた際に読まなくなる。
  • 1冊あたり2-3000円するので、ちょっと高過ぎ。

と、自己投資とか言って置きながらデメリットにしか目がいかないので、Amazon Kindle Unlimited を契約してみることにしました。
月額980円で、ある程度の技術本は読み漁ることができます。

まずは、pythonの習得を目指して勉強しようと思います!
費用対効果?のほどは、また別の機会に🌝

MacでPCゲーム(Steam)はオススメできないという話

f:id:spacegeek:20210503171037p:plain:w500

目次

 

Steamデビューして2年ほど経ちましたが、やはりMacでSteamはオススメできないです。。
Macで如何にしてSteamを快適に楽しめるのか、アホみたいな執念を燃やしてやってきましたが、遂に挫折しました🌚
MacでSteamを楽しもうとしているあなた、快適に遊びたいなら無駄な足掻きを辞めて、Windowsを使いなさいw

 

GPUの問題

まずMacでゲームをやろうとして最初にぶつかる壁が、GPUの問題。
最近になってApple Siliconが出てGPU関連は改善されそうな余地がありますが、
intelMacGPUはiGPUがメインなので、ゲームをするには非力過ぎます。 私はMacでゲームがしたいためだけに、eGPU BOXを導入しましたが、Thunderbolt3の帯域制限のためにPCIeの40%の能力しか引き出せないとのこと。 うーん、コスパが悪過ぎですね😓。

 

対応タイトルの少なさ

これは、もう"言わずもがな"です。
当たり前ですが、Windows対応タイトルの方が圧倒的に多いです。 ただしこれは注意があって、遊びたいタイトルがどのOSに対応しているかで確認した方が良さそうです。 しかし数十年前(30年くらい前)であったら、Macでしかできないタイトルもあったかもしれませんが、現在はMac onlyのタイトルはほぼ無い(AppStore除く)かと思います。

 

ゲームパッドの互換性

PCゲームでゲームパッド(コントローラ)を選ぶ際に、オススメ度が一番高いのがXboxのコントローラです。
Xbox自体をMicrosoftが作っているので、PCでも操作しやすいとのネット上の評判を見て、私もXboxOneのコントローラを導入したのですが、
mac OS Catalina(ver 10.15)では最近、サードパーティー製のドライバを導入してなくても、動作するように正式なドライバ(Bluetooth接続のみ)が導入されました。
ところが、このドライバを使うと、Steam上で遅延が発生&一部正常に認識しないキーがあるようです。
一方で、サードパーティー製のドライバを入れても、正式ドライバと競合して上手く機能しない事象も見られます。
正式ドライバを無効化して、サードパーティー製のドライバを有効にすれば良いのかもしれませんが、その手間が面倒ですね。
AppStore配信のゲームでは確認していないので、もしかしたら、そっちでは上手く動くかもです。

 

AppStore配信なら問題ない?

ここまでボロクソwに批判してきましたが、AppStore配信のゲームであれば楽しめると思います。
ただし、有名タイトルが少ないのと割引セールは無いのが現状なので、どうしてもAppStoreでしか購入できないゲーム以外は、 Windowsでやる方が無難かと思います。

 
ちなみに私は、自作PC(ゲーム専用)を1台作っており、そちらで基本的にゲームすることに決めました。
さようなら、Steam on the mac !!

映画「インターステラー」を観ました。

映画「インターステラー」を観ましたので、感想を。

f:id:spacegeek:20210430084536j:plain:w400
引用元:ワーナーブラザーズ公式ページ

あらすじ

マシュー・マコノヒーが演じるNASAの元パイロット、クーパーという人物が主人公。
農夫として2人の子供と、亡くなった奥さんの義父の4人で、荒涼とした地で作物を育てて暮らしています。
ある日、滅亡する地球から人類を救おうと他の星への移住を計画していたNASAの極秘施設を娘と一緒に見つけてしまいます。
クーパーは元パイロットであることから移住先の星を見つけるための探査プロジェクトに協力することを決意。
そして、移住できそうな星を見つけるために、地球から旅立ちます。
果たして人類を救うことができるのか。主人公は生きて戻ってくることができるのか。
人類の未来は。。

感想

*一部ネタバレがあります

SFものとしては、よく出来ていておもしろかったです。
ブラックホールワームホールに飛び込んでも生きて戻って来れるというところが如何にもSF的要素ですが、これはこれで、個人的にはアリな未来のSFでした。 AIと協力的なシーンもとても印象的です。
ターミネーターのように乗っ取られるという訳ではなく、上手く共存できている?感じがとても好感が持てます。 機会があれば是非、観てみてください。

NASAが月有人着陸機開発でSpace Xと契約

NASAがアルミテス計画における月有人着陸機開発でSpace Xと契約したみたいですね。
Youtubeの動画にSpace Xが開発しているロケット「Starship」がありますが、
サンダーバード1号機を思わせる外観で、何度みてもSFを見ている錯覚に陥り、笑ってしまいますw
これは現実かと。。
打ち上げが楽しみですね。

youtu.be

はじめての〇〇

更新がしばらく止まってしまいました。。
最近、Twitterをやり始めました(今更感がスゴイですねw🌝)。
個人情報を晒すことにかなり抵抗があるので、もっぱら見る専門で、発信は一切やっておりません。
そもそも始めたキッカケが、GSIクレオス社の水性サーフェイサー(瓶タイプ)の再販日をいちはやくキャッチするためでした。
ところが色々見ていると面白くなり、模型雑誌や模型メーカーをいつしかフォローしているではありませんか😑

前置きが長くなりましたが、そんな中、Twitter経由で模型メーカーのハセガワ社が「80周年記念 プラモデルコンテスト」を実施することを知りました。
ちょうど今ハセガワのスペースシャトルを製作中&応募期間にも間に合いそうですので、応募してみることにしました。

はじめての、コンテストです。 ドキドキ、ワクワクですw

目標ができましたので、俄然、やる気が漲ってきましたね。 頑張ります!