ユーザ用ツール

サイト用ツール


recentposts

最近の投稿

Anaconda をインストールする

「Pythonによるプログラミング入門-東京大学教養学部テキスト-アルゴリズムと情報科学の基礎を学ぶ」ISBN: 978-4-13-062458-9 のための Python の環境として Anaconda をインストールしました。

Python は使ったことがあるのですが、このテキストをぱらぱらとめくってみると簡単なプログラムでグラフを描画しています。えーっと、これ、私たち、つまり、業務システムとか Web アプリとかつくっているエンジニアが知ってる Python の環境じゃないだろ? 素の Python にどんだけパッケージ追加したらコマンドラインからいきなりグラフ描画できるのか見当つかないぞとテキストの最初のあたりを読んでみると Anaconda というのを使っていることがわかりました。そこにこのテキストで必要なものが一式入っているようです。最近の理系の学生さんはこういうのを使ってるのね。ということで、さっそく入れてみます。

インストーラの入手と実行

私は普段 Mac を使っているのですが、他の人といっしょにやる都合で Windows でやってみます。

まず https://www.anaconda.com/products/individual のページの下の方から Windows の “64-Bit Graphical Installer” をダウンロードします。 Anaconda3-2020.11-Windows-x86_64.exe という 457MB の(でかっ)インストーラがダウンロードできました。これを実行します。

まず、なにかインストールするときのお約束のセキュリティの警告は「実行」を選択します。

他のアプリを終了しろとの警告が出るので、指示に従って「Next」

License agreement は読みたければ読んで「Next」

Taylor Swift が Tiny desk concert で “Just me, no dancers.” と言ってたのがかっこよかったのでデフォルトの「自分用」の選択のまま「Next」

必要なディスク容量 2.7GB (でかっ)について「足りない!」みたいな警告が出てなければ「Next」

私の場合、開発用の Python を別に入れる可能性があるので 2個目のチェックボックスは Off にしました。理系の学生・研究者でなければ Off でよさそうです。 PyCharm 等の IDE の設定はそれぞれの IDE でできるでしょうし。で、「Install」ボタンを押すと、、、

サイズが大きな分、インストールに時間がかかります。終わったら「Next」

PyCharm Pro を買ってほしそうですが、とりあえず無視して「Next」

Tutorial などは後で見たければ見るので、チェックボックスはすべて Off にして「Finish」

Windows のスタートメニューにこのような項目が表示されます。 Reset Spyder Settings 以外のものを一つずつ開いてみます。

Anaconda Navigator

まず Anaconda Navigator です。ここからいろいろ起動できるようです。

Tutorial は、、、英語だ、、、

Anaconda PowerShell Prompt

次に、 Anaconda PowerShell Prompt ですが、これは要するに PowerShell のコンソールで Python が起動できる、というそれだけのものです。

python3 --version[Enter]

を実行してみると、無い。 3 は付かないんですね。

python --version[Enter]

で表示されたバージョンは 3.8.5 です。新しいバージョンが入っています。 python[Enter]1 + 1[Enter]2 になることを確認したら [Ctrl]+[D] ( Control キーを押しながら D を押す ) で Python を終了し、 exit[Enter] で PowerShell を終了します。 PowerShell の終了は右上の [X] でウィンドウを閉じるのでもいいです。

Anaconda Prompt

Anaconda Prompt は PowerShell ではなくコマンドプロンプトが起動します。 PowerShell でない以外、できることは Anaconda PowerShell Prompt と同じです。

Jupyter Notebook

Jupyter Notebook は、最初にコマンドプロンプトが表示されてしばらくすると「ブラウザか何かで開くか(意訳)?」と聞かれるので Edge でも Chrome でも好きなものを選択します。

するとフォルダの一覧が表示されます。これは C\:Users\ユーザ名 の直下だな。

で、私はここでいきなり「New」の「Notebook」の「Python 3」を選択したのですが、この場所はよくないので、みなさんは後述する通り Documents の下の Python Scripts を開いて、そこから「New」の「Notebook」の「Python 3」を選択してください。 Documents の下に Python Scripts が無い場合は Documents で 「New」の「Other」の「Folder」を選択して作成してください。

するとブラウザの新しいタブが開いてこんなものが表示されます。

1 + 1[Enter] と入力してみると、改行された。。。いや、改行じゃなくて実行したいんだけど。

改行を消して Run ボタンを押すと無事に実行できました。

改行できるということは、複数行まとめて実行できるということかな? と 3行ほど入力して Run ボタンを押して実行すると、期待通りに動きます。

変数 a の値は覚えてくれているようです。

フロッピーディスクのボタン ( って若い人はフロッピーディスクは知らんだろ ) を押して保存してブラウザのタブを閉じると Untitled.ipynb というファイルが保存されています。

「Running」を選択してみると、このファイル名の行に「Shutdown」ボタンがあります。何か動いているようです。

「Shutdown」ボタンを押して「Files」に戻ると表示が変わりました。

前述の通りファイルを保存する場所がよくなかったので、 Documents の下の Python Scripts からやり直します。 Documents の下に Python Scripts が無い場合は Documents で 「New」の「Other」の「Folder」で作成してください。「New」の「Notebook」の「Python 3」を選択して新しいノートブック(と呼ぶのかな?)を作成して、

「File」の「Rename」でファイル名を変更します。ファイル名には日付やテキストの章の番号などを付けるといいと思います。

先ほどと同じことをやって、フロッピーディスクのボタン で保存してブラウザのタブを閉じます。

「Rename」で付けたファイル名で保存されています。これをクリックすると元通りの状態で表示されるんだろうな。そうでない場合を試してみたいので、

「Running」で「Shutdown」してみます。

表示が変わりました。これをクリックして開いてみます。

先ほどと見た目は同じものが表示されたので、変数 a を覚えてくれているか試してみます。 a を入力して Run

ボタンで実行するとエラーになります。覚えていません。

ブラウザを閉じて、何やら呪文がたくさん表示されているコマンドプロンプトを右上の [X] で閉じて、 Jupyter Notebook を開き直すと、 Shutdown された状態でした。

Jupyter Notebook 例えば学生の場合、授業1回分を1個のノートブックにするという使い方が良さそうです。 Python を開発の作業で使うようなコンソールで実行するとコンソールを閉じたらすべて消えてしまいます。こんな感じでやったことを丸ごと残しておくことができるのは、学習用にとても便利です。

Spyder

最後に Spyder を試してみます。 Spyder を起動すると「アップデートするか?」と聞かれるます。今回はとりあえず無視します。

次に Kite というツールを入れるかどうか聞かれます。詳しい説明は省略しますが、これも今回のお勉強の範囲であればどうしても欲しい感じではないので無視します。今後、本格的に仕事や研究で Python を使う場合は用途に合ったものを入れてください。 Visual Studio Code や PyCharm であれば一般的なものが最初から入っているか、入っていなくても案内が表示されるか、どちらかだと思います。

Spyder の見た目は Visual Studio Code のような IDE と同じような感じですね。左側にプログラムを書くエディタ、右側に実行結果等を表示するコンソールがあります。左側に

a = 0
a = a + 1
print(a)

と書いて、フロッピーディクスのボタンで(これ作ったやつ絶対おやじだ)保存して、右向き三角のボタン で実行します。

すると「実行結果をどこに表示する?」と聞かれるので、デフォルトの設定のまま「Run」ボタンを押します。

右側に 1 と表示されました。 Visual Studio Code のような IDE より手軽ですね。まとまった量のプログラムを書く場合は Jupyter Notebook ではなくこちらを使うことになります。

追記: Mac にインストールする

Mac でも試してみたのですが、 Anaconda Navigator, Jupyter Notebook, Spyder は Windows と見た目がほとんど同じです。

まず https://www.anaconda.com/products/individual のページの下の方から MacOS の “64-Bit Command Line Installer” をダウンロードして、コンソールで実行します。

$ cd ~/Downloads/
$ sh Anaconda3-2020.11-MacOSX-x86_64.sh

~/anaconda3 に一式がインストールされます。そのディレクトリの直下に Anaconda-Navigator というアプリがあるのでそれを実行すると Anaconda Navigator が起動します。 Jupyter Notebook と Spyder は Anaconda Navigator から起動できるのですが、単独で起動したいのだけど、、、

Jupyter Notebook を起動したコンソールの表示を見たところ ~/anaconda3/bin の下の jupyter_mac.command を起動しているだけのようです。その jupyter_mac.command は同じディレクトリの jupyter-notebook を起動しているだけです。コンソールから

$ ~/anaconda3/bin/jupyter-notebook

で起動できました。

Spyder は

$ ~/anaconda3/bin/spyder

で起動できました。

アンインストールは ~/anaconda3 を消すだけでよさそうです。

追記: Mac の PATH の変更

Mac の場合インストーラが .bash_profile に Anaconda の PATH などの設定を追加します。

``` (base) ~$ which python /Users/michinobu/anaconda3/bin/python (base) ~$ which python3 /Users/michinobu/anaconda3/bin/python3 (base) ~$ which python –version /Users/michinobu/anaconda3/bin/python (base) ~$ python –version Python 3.8.5 (base) ~$ python3 –version Python 3.8.5 ```

これが都合悪い場合は .bash_profile

``` # »> conda initialize »> ```

から

``` # «< conda initialize «< ```

までを消してください。私の場合、これを残した .bash_profile_anaconda3 と消した .bash_profile を使い分けるようにしています。

2021/04/08 10:45 · michinobu

JavaScriptでスワイプ操作の検出

マウスの操作でHTML上の要素を移動するプログラムを書いてみたんだけど、スマホでは反応しない、、、スワイプってそのものの名称のイベントはないようだけどどうするの? と調べたらすぐ見つかりました。

Detecting a swipe (left, right, top or down) using touch \ http://www.javascriptkit.com/javatutors/touchevents2.shtml

なるほど、マルチタッチは無視して e.changedTouches[0] だけ見るわけですね。それから touchmovee.preventDefault() で素通りしてしまうのが幸せになれるポイントのようです。

ほとんどこの記事の通りのコードを書いて要素の移動はうまくいったのですが、その要素はボタンで、クリックが効かなくなりました。なるよな〜〜 e.preventDefault() してるんだから。そこは touchstart から touchend まで 100msec. 以内ならクリック時の処理をする、としてみたところ、そこそこいい感じです。 100msec. 以内でスワイプしたつもりみたいなことができる超人は無視です。

で、ここまでできたところで私が今回使っている Vuetify のドキュメントをよく見たら v-touch というのがありました(涙

まあ、このやり方でマウスの操作と共通の処理にできたし、後でタイミングや移動距離などの感度を細かく調整できるから、これはこれでいいや。

2021/03/13 19:25 · michinobu

Mac の Finder の表示を更新するには

私の MacBook で最近になって発生し始めた困った現象なのですが、 Chrome でファイルをダウンロードして既定の「ダウンロード」フォルダに保存しても、 Finder に表示されません。また、ターミナルで「ダウンロード」フォルダから他のフォルダに移動したファイルが表示され続けてしまいます。 Windows のエクスプローラーであればマウス右クリックで「最新の情報に更新」すればいいのですが Finder で同様の機能が見つけられません。他のフォルダを表示して戻ってきてもダメ。困ったなと調べて見つけたのがこの記事。たぶん Apple社のドキュメントにも書かれているのでしょう。

How to Refresh a Finder Window in Mac OS X
https://www.heatware.net/mac/how-to-refresh-finder-window

Optionキーを押しながら Dock の Finder のアイコンを右クリックすると、 Optionキー無しでは表示されないメニュー項目「再度開く」が出てきます。これを実行します。すると Finder が消えて 2秒くらいで再び表示されて、フォルダの表示が最新になってくれました。

Optionキーを押しながら右クリックするのと、右クリックしてから Option キーを押すのとでは表示されるメニューが違うんですね。長年 Mac を使っていたけど全然知りませんでした。

2021/02/27 11:16 · michinobu

Macで "xcrun: error:" が出たら

私の MacBook で作業していると突然

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

というエラーが出ることがあります。最近多いような気がするな。今回は Python と brew update で。ここで出られると作業がなんにもできません。どうもOSのアップデートが原因のようです。

Mac OS: xcrun: error: invalid active developer path, missing xcrun
https://ma.ttias.be/mac-os-xcrun-error-invalid-active-developer-path-missing-xcrun/

によると

$ xcode-select --install

しろと。やってみると何やらダイアログが表示されて Xcode のなんたら(よくわからないけど iOS 向けアプリを作っていない私には本体は必要ないけど一部が必要らしい)がインストールされます。

それがダメなら

$ sudo xcode-select --reset

それでもダメなら

Apple developer download section
https://developer.apple.com/download/more/

から Xcode を入手しろとのことですが、私は Apple Developer ID は持ってないぞ。 Xcode ならストアからインストールできるし、この記事を見る前はそれで巨大なやつを丸ごとインストールしてたけど。

2021/02/27 03:38 · michinobu

DokuWikiの「サイドバー」を変更

このサイトのレイアウトを変更してみる に追加で以下のようなカスタマイズをしました。

スマホ表示の「サイドバー」を「メニュー」に変更

スマホではサイドバーが折り畳まれて「サイドバー」というボタンになります。 これを「メニュー」に変更します。 conf/lang/ja/lang.php が無ければ(たぶん無い)追加して以下のように。

<?php
$lang['sidebar']               = 'メニュー';

外部リンクのアイコンを削除

How to "completely" remove external link icons? より、 conf/userstyle.css に設定を追加します。

.dokuwiki a.urlextern,
.dokuwiki a.interwiki,
.dokuwiki a.windows,
.dokuwiki a.mail {
    background-image: none !important;
    padding-left: 0 !important;
}
2020/12/30 22:27 · michinobu
このウェブサイトはクッキーを使用しています。 Webサイトを使用することで、あなたはあなたのコンピュータにクッキーを保存することに同意します。 また、あなたはあなたが私たちのプライバシーポリシーを読んで理解したことを認めます。 同意しない場合はウェブサイトを離れてください。クッキーに関する詳細情報
recentposts.txt · 最終更新: 2017/11/26 22:33 by michinobu