20210124のMacに関する記事は6件です。

自分用のメモ

brewでのサービスのコントロール

サービスの一覧取得

brew services list

サービスの操作

brew services [start|stop|restart] サービス名

macでのサービス管理は、launchctlで実施。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Mac(M1)でpython環境構築(はじめて環境構築をする人向け)

Mac(M1)へ買い換えたので環境構築を行います

5年ぶりくらいにMacを買い換えたのでpython環境構築をする必要があり、せっかくなのでまとめました。
Macで、はじめてpythonの環境構築を行う人に役立てばと思います。

そしてQiitaでの投稿ははじめてなので、見辛いかもしれません。。。
今後memoの感覚で投稿できたらと思います。

以下を使用していきます

Mac(BigbSur Apple M1チップ)
Xcode
Homebrew
pip3
venv(仮想環境構築)

まず全体の流れ

  1. 仮想環境構築とは
  2. Xcodeをインストール
  3. Homebrewをインストール
  4. 仮想環境作成 virtualenvをインストール
  5. pythonをインストール

1.仮想環境構築とは

 pythonを使用していくにあたり、さまざまなパッケージ(モジュールをまとめたもの)をインストールします。
python初心者のころは(まだ初心者ですが)いろんなチュートリアルを見ては、いろんなパッケージファイルをインストールしてしまい、気づけばとんでもない数のパッケージファイルをインストールしてたってことにもなりかねません。

そこで!仮想環境というものを作成し、その中でpythonを管理していきます。
そうすることで、作りたいものごとにパッケージを管理することができるよになります。

使わなくなった、失敗した環境に関してはなにも考えずに消してしまえばOKなので安心です。
仮想環境の作り方は4.仮想環境作成にて説明します。
では、必要なものをインストールしていきましょう!

2.Xcodeインストール

まずはAppStoreでXcodeをインストール
(サイズが11.6GBもあるため少し時間かかります。嘘でしょ。)
一度起動して「Xcode and iOS SDK License Agreement」が表示されるので
[Agree]をクリックします。

※Xcodeを全てインストールする必要はなくApple製品のアプリ開発をしなければ以下コマンドで「Command Line Developper Tools」をインストールするだけでOK

terminal
$ xcode-select --install

これでXcodeのインストールは完了

3.Homebrewのインストール

スクリーンショット 2021-01-24 13.15.40.png
HomebrewはAppleStoreなどでインストールできない必要なものをインストールするためのツールです。(アイコンがビールで可愛いです。)

Homebrewへアクセスし記載されてあるコマンドをターミナルへコピペ!
と、言いたいところなのですが、Homebrew_alternativeに書いているようにM1チップ版のインストールはopt/homebrewに展開する手順になるそう。
将来的にIntel/M1両対応が完了すれば従来通り/usr/localで利用できるようになるよう。待ってもいられないのでこちらでM1Mac用環境構築を綺麗にまとめられてたので参考にし、インストール行いました。

% cd /opt #ディレクトリ移動
% sudo mkdir homebrew #rootユーザでディレクトリ作成
% sudo chown -R $USER . #ログインユーザに所有権設定
% curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew #Homebrewインストール
% vi ~/.zshrc
export PATH=/opt/homebrew/bin:$PATH #Homebrewへのパスを追加
% source ~/.zshrc #シェルに反映
% brew -v #反映されているか確認
% brew update #更新

インストールできているかチェックするためにbrew doctorを実行
Your system is ready to brew.になれば、おめでとうございます。
インストール完了です。

4.仮想環境作成

1.仮想環境構築とはで説明したように直接Mac下にpythonをインストールすると後々、めんどくさいことになるので、仮想環境という箱を作成し、その中に使用するだけのモジュールをインストールしてあげます。
仮想環境を作成する方法は色々あるのですが、今回はvenvを使用します。
(venvはPython3.4以降であれば標準で使用できます)

venvで仮想環境を作成

terminal
python3 -m venv myenv

venvで仮想環境を実行

terminal
source myenv/bin/activate

これで作成した仮想環境内に入ることができました
ターミナルのUser名の前に(myenv)と仮想環境名が入っていることを確認してください。
仮想環境内で作業している時はpythonコマンドは自動的に正しいバージョンのpythonを参照しに行くのでpython3コマンドの代わりにpythonが使用できます。

以上で仮想環境構築は終了です。

pip install hogehogeでいろんなモジュールをインストールして試してみたください。

また作成した仮想環境を削除したい時は作成したフォルダを削除するだけです。
簡単ですね!

仮想環境を初期化したい場合はdeactivateで仮想環境から抜けて以下コマンドを実行すれば初期化されます。

terminal
python3 -m venv --clear myenv

他にも色々なコマンドがあるので、便利そうなものがあれば、またまとめたいと思います!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

mac+vscode+vim設定でのカーソル移動問題の解決

問題

  • macのvscodeで、vimのキーバインドしたい。
  • vscodevimプラグインをインストールしたが、hjklによるカーソル移動ができない。
  • 正確に言うと、押しっぱなしで連続移動したいのに、連打する必要がある。

解決方法

vscodeのターミナルで以下のコマンドを実行して、vscode自体を再起動する。

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false

後書き

参考になる記事がすぐに見つかったため、時間をかけずに解決できました。今後ずっと連打かと思うとかなりのタイプに時間と体力を奪われることになるので、解決してよかったです。

参考記事

https://twismik0.hatenablog.com/entry/2017/08/14/115502

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

mac+vscode+vim設定でのカーソル移動・連打問題の解決

問題

  • macのvscodeで、vimのキーバインドしたい。
  • vscodevimプラグインをインストールしたが、hjklによるカーソル移動ができない。
  • 正確に言うと、押しっぱなしで連続移動したいのに、連打する必要がある。

解決方法

vscodeのターミナルで以下のコマンドを実行して、vscode自体を再起動する。

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false

後書き

参考になる記事がすぐに見つかったため、時間をかけずに解決できました。今後ずっと連打かと思うとかなりのタイプに時間と体力を奪われることになるので、非常に助かりました。

参考記事

https://twismik0.hatenablog.com/entry/2017/08/14/115502

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

DockerでPHP環境を作る(mac)

はじめに

勤め先でもPHPを使っており自宅でPHPを勉強するために、ローカルでPHP開発環境を整えることにしました。
MAMP(マンプ)でも良いかなと思いましたが、せっかくなのでDockerで作ってみます。
(開発中に色々詰まってしまったところがあるので、備忘録がわりのメモです。)

手順

  1. Dockerによる環境構築
  2. ファイル・ディレクトリの準備
  3. 各ファイルの作成
  4. コンテナを起動
  5. サイトにアクセス

1. Dockerによる環境構築

Dockerを使うには、「Docker for Mac」のインストールが必要です。
Qitaに素敵な記事がたくさんあるので、ここでの説明は省略します。

今回はDockerで以下のコンテナを使います。

  • nginx
  • PHP
  • MySQL
  • PHPMyAdmin

使用するコンテナが複数あるので、今回は「Docker Compose」を使って環境を作っていきます。

2. ディレクトリ・ファイルの準備

Dockerを起動する場所を作成しましょう。
まずはフォルダを1つ用意し、次のようなファイル構造となるようにしてください。
用意するフォルダは何でも良いのですが、今回は「php-test」という名前で作成します。

php-test
├── docker-compose.yml
├── mysql
│   └── data
├── nginx
│   └── nginx.conf
├── php
│   ├── Dockerfile
│   └── php.ini
└── www
   └── html
       └── index.php

3. 各ファイルの作成

用意したファイルの中身を作成していきます。
中身を作成するファイルは、docker-compose.ymlnginx.confDockerfilephp.iniindex.phpの5つです。

docker-compose.yml

version: '3'
services:
  nginx:
    image: nginx:latest
    ports:
      - 8080:80
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
      - ./www/html:/var/www/html
    depends_on:
      - php

  php:
    build: ./php
    volumes:
      - ./www/html:/var/www/html
    depends_on:
      - db

  db:
    image: mysql:5.7
    ports:
      - 13306:3306
    volumes:
      - ./mysql/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: secret

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    ports:
      - 8888:80
    depends_on:
      - db

nginx.conf

server {
  listen 80;
  server_name _;

  root  /var/www/html;
  index index.php index.html;

  access_log /var/log/nginx/access.log;
  error_log  /var/log/nginx/error.log;

  location / {
      try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ \.php$ {
      fastcgi_pass php:9000;
      fastcgi_index index.php;    
      fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include       fastcgi_params;
  }
}

Dockerfile

FROM php:7.2-fpm
COPY php.ini /usr/local/etc/php/
RUN docker-php-ext-install pdo_mysql

php.ini

date.timezone = "Asia/Tokyo"

index.php

設定情報を確認するためにphpinfo();としていますが、なんでもいいです。

<?php
phpinfo();
?>

4. コンテナを起動

いよいよコンテナ起動です。
ターミナルを開き、docker-compose.ymlがあるフォルダ(今回はphp-test)に移動します。

下記コマンドで、php-testフォルダに移動。

cd php-test

下記コマンドで、コンテナを起動。

docker-compose up -d

以下のような記述がターミナル内に表示されたら、起動は成功です。

Creating php_01_db_1 ... done
Creating php_01_phpmyadmin_1 ... done
Creating php_01_php_1        ... done
Creating php_01_nginx_1      ... done

なお下記コマンドで、コンテナを停止できます。

docker-compose stop

5. サイトにアクセス

最後にサイトにアクセスします。
それぞれ下記画像のような画面が表示されたら、成功です。
お疲れ様でした。

Webサイト:http://localhost:8080/
localhost_8080_config.php.png

管理画面:http://localhost:8888/
localhost_8888_ (1).png

ユーザー名:root
パスワード:secret

以上です。
最後までお読みいただき、ありがとうございました。


お世話になったサイト

【補足】Qitaに投稿されているDockerインストール記事

下記の中から自分に合いそうなものを1つ選んで、進めてみると良いと思います。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

M1チップ搭載MacBook、クリーンインストール方法

M1チップ搭載MacBookProを最近購入し、初期設定の失敗などから、クリーンインストールする機会があった。
Intel搭載MacBookと方法が全く異なり、少し手こずった部分もあるため、記載する。

M1チップ搭載MacBookクリーンインストール方法

基本的に以下URL先の方法に則り行った。
https://support.apple.com/ja-jp/HT211983

① システム終了し、電源ボタンを長押し→"起動アシスタント"を開く

従来は"command + R"を押しながら起動させていた部分が、電源ボタンの長押しに変更されている。また、M1チップ搭載Macに限ることかはわからないが、
・充電ケーブルの差し込み
・トラックパッドでのクリック
でも起動したため、注意が必要。
ちなみに筆者の場合、起動音がなった後、リンゴマークが表示されるまでの数秒間の間に慌てて電源ボタンの長押しを始めても、ギリギリ起動アシスタントは表示された。

② ”オプション”を選択し、「復旧ユーティリティ」を起動する

設定のロゴマークのような、歯車がモチーフとなっているアイコンをクリックし、「続ける」をクリックすればOK。
時々、表示が英語になることもあるが、慌てず"option"をクリック、"continue"を選択すれば良い。
「復旧ユーティリティ」が起動する。

③ ”ユーティリティ”メニューから、”ターミナル”を起動、"resetpassword"を入力し、「復旧アシスタント」を起動する。

ここが大きなポイント。ここを間違えると文鎮化も起きる可能性も出てくるため間違えないように!
Intel搭載Macだと、リカバリーディスクを起動し、ディスクユーティリティからディスクの消去を行ってMacを初期化していたが、M1チップ搭載Macだと異なる方法を取る。
メニューバーの”ユーティリティ”から、”ターミナル”を起動する。
ウィンドウが開いたら、resetpasswordを入力しenterを押すと、ターミナルの裏に「復旧アシスタント」ウィンドウが起動する。
この「復旧アシスタント」アプリから、Macの消去を行う。

④ Macの消去

復旧アシスタントのウィンドウを選択し、メニューバーの復旧アシスタントから"Macの消去"を選択する。
このとき復旧アシスタントがディスクの認識をするまで数秒程度時間がかかる。

なお、このとき2回ほど、”Macの消去”を選択する必要がある。
思いやりの気持ちをもちながら、選択すればOK。
その後、驚くほど迅速にMacの消去が行われる。
本当に消したの?そう聞きたくなるくらい。
再起動が始まり、⑤の状態に行けば、問題なく消去が行われた証拠。

⑤ 言語選択画面。日本語、または理解できる言語を選択する。

Macを購入した直後のように、言語選択画面となる。
このとき表示される言語は、筆者の場合、高確率で日本語、時々英語であった。
なぜこのような「高確率で」という表現ができるのか、後になり理解できるだろう。

⑥ Macをアクティベート化

Macをアクティベート化する画面が表示される。
このときインターネット接続が必要になる。
Wifi、または有線LANに接続する。
Wifi接続は待っていても始まらないので、メニューバー右上のWifiマークから接続を行うこと。
インターネット接続完了後、しばらく経ちアクティベート化が完了する。

⑦ 「終了して復旧ユーティリティ」を選択し、復旧ユーティリティを起動する。

復旧ユーティリティを起動する。そうすると、手順②の状態へ戻る。

⑧ ①〜⑦の方法を2回、場合によっては3回繰り返す。

ここはおそらくバグなのか、①〜⑦の手順を2回乃至3回繰り返す。
この後の手順でうまく行かなければ、筆者の場合は再度Macを消去するとうまく行った。

⑨ OSのインストール

MacOSをインストールする。2021年1月現在、BigSurをインストールすればOK。
このとき、上で紹介したリンク先では、他のMacで作成したインストーラーから起動する方法も紹介されていたが、筆者の場合はうまく行かなかった。
"ターミナル”からダウンロードする方法を推奨する。

ターミナルからダウンロードする場合、コマンド入力の必要があるが、これがまぁ長い!
そのため間違い防止のためにも、ホームページよりコピー&ペーストをする

⑩ Safariを起動し、Appleホームページへ移動

復旧ユーティリティの項目の中に、Safariの起動がある。それを選択し、ブラウザを起動する。
新規タブを開く(Command+T)などをし、以下サイトを起動する。
https://support.apple.com/ja-jp/HT211983
ちなみにこちら、上述のリンク先と同じ。

⑪ "ターミナル"より、BigSurのダウンロードとインストール

Safariのウィンドウの外をクリックすると、メニューバーに「復旧ユーティリティ」が表示されるようになる。
手順③で紹介した方法と同様にして、ユーティリティからターミナルを起動する。
ターミナルに以下のコマンドをコピペ、または気合があれば手入力する。

cd '/Volumes/Untitled'
mkdir -p private/tmp
cp -R '/Install macOS Big Sur.app' private/tmp
cd 'private/tmp/Install macOS Big Sur.app'
mkdir Contents/SharedSupport
curl -L -o Contents/SharedSupport/SharedSupport.dmg http://swcdn.apple.com/content/downloads/00/55/001-86606-A_9SF1TL01U7/5duug9lar1gypwunjfl96dza0upa854qgg/InstallAssistant.pkg

ペースト後、Enterを押すとダウンロードが始まる。
ネットの速度に依存するが、筆者の場合は20分程度でダウンロードが完了した。

ちなみに復旧ユーティリティの選択肢の中に、”Reinstall BigSur MacOS"というのがあるが、クリーンインストールによりMacOSの起動ソフトも消去されているためうまくいかない。

⑫ ダウンロード終了後、BigSurのインストールを開始

ターミナルにて、以下コマンドを入力し、インストーラーを起動する。

./Contents/MacOS/InstallAssistant_springboard

この後はインストーラーの手順に沿って、インストールを進めていけばOK!

ちなみに、このときインストールするディスクは”Untitled"という名前がついてる。
インストール自体は20分程度で終了する。こちらも早い。さすがM1チップ。

⑬ 再起後、初期化は完了!

その後は購入したときのように設定していけばOK。
筆者の場合、旧いMacから引き継いだのだが、その時にもトラブルが多く起きたので、その対処方法なども後日記載する。

トラブルシューティング

トラブルがつきものの初代M1チップ搭載Macだが、この初期化においても何箇所かトラブルが起きやすいところがあったため、以下に記載する。

言語が安定しない問題

上の手順紹介の部分でも何度か紹介したが、言語が日本語になったり英語になったりと安定しなかった。
英語が読めない人にとってはきついかも知れない。
まぁ簡単な英語なので、パニックになる人はいないと思うけど。

起動可能なインストーラーが利用できない

もう一台の別のMacで用意したインストーラーが使えなかった。
筆者の場合はUSBで用意したのだが、考えられる原因は2つ。
・USB変換アダプタがM1チップに対応していない
・そもそも、USBに用意した「起動可能なインストーラ」が利用できない
可能性が高いのは前者。確実な方法を推奨する。

手順⑪、BigSurのダウンロードができない

筆者の場合、このトラブルが最も多かった。
ある程度のパターンがあったので、紹介する。

・ダウンロードに失敗する

ダウンロードが一旦は進行するが、途中で失敗することが多々あった。
ターミナルをよく見返すと、エラーを吐いていた。

$ cd '/Volumes/Untitled'
cd: no such file or directory: '/Volumes/Untitled'

Macを消去すると、自動的に"Untitled"のディスクが生成するような仕様になっているようだが、それがうまく行っていない模様。
もう一度手順通り「Macを消去」すれば対処できた。
筆者の場合は少なくとも3回消去すればうまく行った。

・ダウンロードが途中でストップする

症状としては上のものと似ているが、少々異なる。
ダウンロードが途中でストップし、Timeoutとエラーが吐かれる。
何度かこのエラーが起こり、そのすべてで共通していたのが、ダウンロード中にMacがスリープモード担っていたこと。
スリープしないように時々操作すると、このエラーは起きなくなった。

ちなみに、ストップしてしまった場合、再度MacOSのダウンロードしても筆者の場合はうまく行かなかった。
対処法としてはもう一度「Macを消去」からのMacOSのダウンロード。

まとめ

筆者が経験した中でも、数種類のトラブルがあったため、手順が多くなってしまう部分はあるが、基本的にM1チップ搭載Macは処理速度が圧倒的に早いため、そこまで時間を掛けずに取り組むことができる。
ただ、ネット上にあまりクリーンインストールの方法が無かったので、備忘録として記録した。
なお、OSの更新等により、ここに記載した方法よりも手順が簡略化されたり、もっと多くのトラブルが発生したりするかも知れない点は留意していただきたい。

参考

Apple M1 チップ搭載の Mac で macOS を再インストール中にパーソナライズエラーが表示される場合
https://support.apple.com/ja-jp/HT211983

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む