Mac で brew upgrade したら tkinter が見つからなくなったが、解決した話

一年ほど前、Intel Mac で tkinter をいじっていたとき、いくらがんばっても日本語入力の時の選択肢を表示させる方法がうまくいかなかったので、しばらく tkinter 含めた Python の GUI からは離れていました。が、最近読み始めた本で tkinter を使っていたので気分が乗って、改めていろいろ試したところ、ハマった後に解決できたのでその方法のご紹介です。

結論から先に言うと、答えは brew info python に書いてあった

brew で Python を 3.9.1 から 3.9.6 にアップグレードしたときのログはロクに見ていなかったのですが、一晩寝かせた後に brew info python を叩いてみたところ、やるべきことが書いてあり無事解決できました。下の (略) に挟まれた部分です。tkinter はもう Python 3 に含まれ無くなったけど、まだインストールできますよ、という事を言っています。

% brew info python3
[email protected]: stable 3.9.6 (bottled)
Interpreted, interactive, object-oriented programming language
https://www.python.org/
(略)
tkinter is no longer included with this formula, but it is available separately:
  brew install [email protected]
(略)

というわけで、もし brew upgrade で python3 を 3.9.x にアップグレードした後に tkinter が動かなくなった場合は、brew install [email protected] で tkinter も別途インストールしてあげてください。

ほんの最近まで、多分去年くらい?までの情報では「Python で GUI やるなら、まずは標準で入っている tkinter を試しましょう」と書かれていると思うんですが、少なくとも Mac の brew によるインストールでは標準では入っていない、ということですね。

動かなくなったときのエラーはこんな感じ

% python3 -m tkinter
Traceback (most recent call last):
File "/opt/homebrew/Cellar/[email protected]/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 188, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/opt/homebrew/Cellar/[email protected]/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 147, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/opt/homebrew/Cellar/[email protected]/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/runpy.py", line 111, in _get_module_details
__import__(pkg_name)
File "/opt/homebrew/Cellar/[email protected]/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py", line 37, in
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'

動かなくなった当日は、pipenv だとモジュールを読み込んでくれないような気がしていてずいぶんと余計な遠回り。一晩寝かせて Python 環境全体の再構築までを覚悟したものの、pipenv の外でも動かない。やったことをイチから見直して答えにたどり着けてヨカッタです。

Parallels Desktop 16 for Mac 早期ゴールデンウィークプロモーションで 25% オフ (2021年 4月 29日現在) (5月 3日改訂)

Parallels Desktop 16 for Mac が 25% オフのキャンペーンやってます

先日 M1 プロセッサ正式対応版のバージョン 16.5 が発表されたばかりの Parallels Desktop for Mac ですが、早期ゴールデンウィークプロモーションということで 25% オフのキャンペーンやっています。いつまで適用されるのかわからないので、気になっている方はこの機会にえいやっと入手してしまってはいかがでしょうか。

Parallels 日本語サイト

Parallels Desktop の簡単な説明と我が家での用途

Parallels Desktop for Mac とは、Mac 上で他の OS を実行する仮想環境です。Windows 10 や各種 Linux 等の OS を、Safari やメール等のアプリケーションと同じように Mac OS の上で動かすことができます。Mac ではリリースされていない Windows 用アプリケーションやゲームを実行することができるわけです。ボクの子供は Intel CPU が乗った数年前の iMac で Parallels Desktop を実行し、そこで Windows 10 Home 64bit を実行、その上でゆっくりムービーメーカー4を使って YouTube 動画を編集しています。編集中の動画再生はカクカクしており、書き出しの時間も専用の PC や Bootcamp を使用した方が早いのでしょうが、一台の Mac で Mac 用と Windows 用のアプリケーションを行ったり来たりしながら作業ができる、というのは実に快適です。OS やハードウェアに自分のやりたいことが制限されない、そういう自由を手に入れることができるのが、Parallels Desktop for Mac なのです。

一点注意すべき点は、M1 チップを搭載した Mac の場合、これまでの Intel チップ向け Mac OS や Windows を実行できないという所です。他にも、そもそもの Mac のスペックによっては実用に耐えないと言うこともあるでしょうから、不安な方は 14日間無料で利用できるトライアル版を試してみて購入の判断をするのがよいかと思います。

トライアル: https://www.parallels.com/jp/products/desktop/trial/

25% オフはなかなか大チャンス (なので、自分用にも購入)

“Parallels キャンペーン” 等とググってみると、いくつかのサイトで割引キャンペーンの情報が出てきますが、買い切り版 (アップグレードの権利は無いが、同じバージョンを追加料金なしでいつまでも使用できる) が 25% オフというのは、直販・販社経由のどちらでもなかなか無いようです。さらに、「早期ゴールデンウィーク」と謳っているので、後半にはやっていないかもしれません。というわけで、2021年 4月 25日、自分用にも買ってみました。 本記事を書いている 4月 29日現在、まだプロモーション中のようです。

買い方を簡単にご説明

https://www.parallels.com/jp/products/desktop/buy/?full

上のリンクから公式ウェブサイトにアクセスし、ライセンスを選択します。アップグレード版を使用するには、以前のバージョンの Parallels Desktop のライセンスキーを持っている必要があります。初めて購入する方は新規ライセンスを選択します。ボクはおそらく 20年ほど前に購入した Parallels Desktop 4 for Mac のライセンスがあったため、アップグレードを選択しました (これほど古くても、アップグレードできました。3,000円程度とはいえ、若き自分の投資に感謝)。

エディションは、家庭および学生向けでよいでしょう。買い切りで、Mac OS のアップグレードによって Parallels が実行できなくなるその日までは使い続けられます。

この段階ではまだ割引適用前の金額

【注意!】新規の単発購入は 9,818円ナリ (8,345円は、アップグレード権を含む年次更新サブスクの価格)

と、ここまで書いて、購入金額の不具合に気がついたので、新規購入の方は以下をお読みになった上で、金額が訂正されてからの購入にした方がよいかと思います。

新規の場合、左側の単発購入の金額は 8,345円のはずだが…

2021年 4月 29日 (祝・木) 現在、上記キャプチャの通り新規ライセンスで家庭および学生向けエディションを選び「今すぐ購入 8,345 円」をクリックした先のページでは、単発購入の価格がなぜか 9,818円になっています。クーポンコードに SAVE25 をコピペして適用をクリックしても、7,363円 (9,818円に対する 25% オフ) にしかならず、期待している 6,259円になりません。ボクが先週アップグレード版を購入したときには、3,903円 (5,204円に対する 25% オフ) になっていましたので、新規の単発購入だけの不具合の可能性があります。サポートに連絡しようとしましたが、祝日は営業していないようでしたので、フォームから訂正の依頼をしておきました。新規で購入される方は、前のページとこのページの価格を必ず確認することをお勧めします 【以下、5月 3日改訂内容】サポートに問い合わせたところ、新規の単発購入価格は 9,818円で正しく、サブスクなら 8,345円ということで、ボクの勘違いだったようです。確かに前のページでは「8,345円より」と書いてあるので、間違ってはいないですね。。。(ところで、5月 3日現在、黄金のプロモーションバナーは無くなっていますがクーポンコードは適用できるような?)

このページですることはこんな感じです:

  1. 単発購入か 1年間のサブスクリプションをクリック
  2. 左下にクーポンコード入力ボックスが無ければ、チェックを入れて表示する (上のキャプチャ参照)
  3. クーポンコード SAVE25 をコピー&ペーストして「適用」をクリック
  4. 合計金額が 25% オフになっていることを確認
  5. 氏名、住所、メアドを入力
  6. 支払い方法を指定、必要事項を入力して「次へ」

無事決済されれば [email protected] から、注文内容やプロダクトキーが書かれたメールが届きます (クレバーブリッジ社は、Eコマースパートナー企業として、Parallels の受注及び支払処理管理業務を行っているということです)。メールにあるダウンロードのリンクから Parallels Desktop をダウンロード&インストールするか、トライアル版をインストール済みであれば、プロダクトキーを入れてあげれば製品版として使用できます。

というわけで、今日はここまで

M1 チップに正式対応した Parallels Desktop 16.5 for Mac。Windows Insider Preview で Arm 版 Windows 10 をインストールしてちょろっといじっただけですが、キビキビ動いている感じです。個人的に取り立てて Windows でやりたいことも無かったので、とりあえず、ゆっくりムービーメーカー4 をインストールしてみました。使い方を知らないのであれですが、起動は確認できました。

他にもいろいろ試そうかとも思ったのですが、仕事以外で個人として Windows でやりたいことも特に無く、何かコメントいただければ試してみようと思います。

コロナ禍のゴールデンウィーク、時間はたっぷりありますからね。

Mac mini (M1, 2020) で Dell モニタの USB ポートが使えない、画面が表示されない時のワークアラウンド

Dell モニタに 20cm の USB-C の延長ケーブルを接続

Mac mini (M1, 2020) を購入した

いろんな方がレビューしてるように、パフォーマンスは素晴らしいです。アプリケーションも、Intel CPU 用機能拡張や VPN (具体的には LogMeIn HAMACHI) などシステムの深いところに食い込んだものは動かないケースが多いようですが、それ以外は概ね想定通りで、すごく満足しています。各デベロッパの対応も早く、毎週のようにサポートされるアプリケーションが増えるのを見られるのも楽しいですね。

Dell モニタの画面が映らない、USB ポートが使えない

しかし、メインで使用している Dell のモニタ P2421DC に USB-C で接続しながら同モニタの USB ポートをハブとして使用するにはコツがいることがわかりました。モニタに電源が入っている状態で Mac mini を起動すると、USB ハブにつながったキーボードから入力できないのです。映像は出力されています。Dell Latitude 5310 や XPS では当然全く発生しません。あまり気にしていませんでしたが、そういえば MacBook Air (Retina, 13-inch, 2019) でも USB-C ケーブルを抜き差ししていたことがあるので、Mac 起動時の USB 機器の接続フローと Dell モニタ側のそれがミスマッチしているように思えます。

ともあれ、日本語ではあまり同様の症状や解決策が無いようなので、投稿しておきます。

環境:

不具合の内容:

macOS 起動後、UCB-C ケーブルで接続された メインモニタのポート USB 3.0 x2 (側面)、USB 2.0 x2 (背面) に接続した機器を認識しない。キーボードやマウスからの入力も、iPad 等への給電も行えない。

下記ワークアラウンドを実行し、キーボードやマウスが使えるようになった後も、スクリーンロックしてしばらくした後にログイン使用とすると、キーボードからパスワードの入力はできるが画面がメインモニタに表示されないこともある。

不具合の再現方法:

モニタの電源が入っている (スタンバイ) 状態 で、Mac mini の電源を投入する。macOS 起動途中から画面は表示されるが、USB 機器は使用できない。

対処方法・ワークアラウンド:

Mac の起動前にできること:

Mac の電源を入れる前に、モニタの電源を切っておく。ボクの場合は HDMI 接続のモニタもあるため、そちらでパスワード入力画面が表示されてからメインモニタの電源を入れる。ごめんなさい、テストしているときはこの方法が有効だった (と少なくとも思う) のですが、最近はなぜか全くうまくいきません。以下をお試しください。

Mac の起動後にできること:

モニタとつながっている USB-C ケーブルを抜き差しします。OS が起動してしまった後では、モニタの電源 off/on では接続されません。Mac mini 背面からケーブルを抜き、モニタがスタンバイ状態に戻ったら再接続します。

ボクは少しでも簡単にケーブルの抜き差しができるようにと、USB 3.1 Gen2 規格に対応した延長ケーブルを amazon で購入しました。本投稿トップの画像のように、モニタ側にこのケーブルを挿し、画面に表示されなかったりキーボードが効かないときに矢印の部分を抜き差ししています。スイッチ付きの USB-C ケーブルを探したが信頼できそうな (Thunderbolt として使えそうな) ものが見つかりませんでした。Mac mini 本体のポートへのケーブル抜き差しに抵抗がある、設置場所的に無理という方はこちらをお勧めします。

今後の展望:

Intel チップの MacBook Air (macOS 10.15 Catalina -> 11.1 Big Sur) でも発生しますが、本体のキーボードでログインはできるし、USB-C ケーブルの抜き差しもたいした手間じゃ無い、ということであまり気にしていませんでした。設置場所によっては Mac mini のケーブル抜き差しは面倒なので、当面は Dell のモニタの電源を切る癖を付けるしかなさそう。Dell は2021年初頭までにMacバージョンのDell Display Managerを提供する (引用元) と言っているで、近い将来解決してくれると願いたいです。

© Peddals.com