20200802のMacに関する記事は8件です。

DockerでビルドしたQWidgetアプリをMacに表示

MacにXサーバをインストール

XQuartz からMacにXサーバをインストールする。

Xサーバを起動してXサーバへのアクセスを許可

インストールしたXQuartzを実行してxtermを起動し、xhostにてXサーバへのアクセスを許可するように変更する。

xhost +

DockerでQtのサンプルアプリをビルド

Qtビルド環境のDockerの作成 で作成したイメージからコンテナを作成する。

docker run -it --name test masana/ubuntu-qtenv:qt5.10.1 /bin/bash

実行に必要なモジュールをインストール

作成したコンテナにおいて、xcbクライアントの実行に必要なモジュールをインストールする。

apt-get install -y libxi6 libxrender1 

ビルドだけでなく実行を前提とするなら、ビルド環境を作成するDockerfileにて上記を追記しておく。

サンプルアプリを実行

作成したコンテナにおいて、ビルドしたサンプルアプリケーションを実行する。

/tmp/sample/sample -display {ホストのMacのIPアドレス}:0.0

MacにQtのウィンドウが表示される。

  • Qtのサンプルプログラム
#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QLabel label;
    label.setText("TEST");
    label.setAlignment(Qt::AlignCenter);
    label.setGeometry(100,100,500,500);
    label.show();

    return a.exec();
}
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

iPhoneでMacのlocalhostを開く方法【実機でテストする】

iPhoneでMacのlocalhostを開く方法になります。
コーディング等を実機で確認したい時に便利です。

iPhoneとMacを接続する

まずは、iPhoneとMacをUSBで接続します。

Macの共有を開く

Macでシステム環境開発 > 共有 を開く

アドレスをコピー

iphone.jpg
上記の画像のアドレス部分~~~~.localをコピーします。

iPhoneでコピーしたアドレスにアクセスする

上記でコピーしたアドレスにポート番号を追加することで、iPhondeでMacのlocalhostにアクセスできます。


https://~~~~~.local:3000
http://~~~~~.local:8000

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

Mac でDjango の開発環境を構築する

前提条件

pyenv, pipenv, python がインストールされていること

Mac でPython の開発環境を構築する

仮想環境作成

mkdir test
cd test
pipenv install

Pipfile, Pipfile.lock が生成される

仮想環境への入り方

pipenv shell で仮想環境に入る

仮想環境からの出方

exit で抜ける

仮想環境へのライブラリのインストール

pipenv install django

Django プロジェクトの作成

pipenv shell
django-admin startproject sanmple_project

以上

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

Mac でPython の開発環境を構築する

バージョン、パッケージ管理

brew install pyenv
brew install pipenv

設定

.bash_profile または .zshrc に追記

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

source ~/.bash_profile
source ~/.zshrc
のいずれかを実行

Python

pyenv install -l
pyenv install 3.8.5
pyenv global 3.8.5

ターミナルを終了させて、もう一度起動する

python --version で 3.8.5 になっていることを確認する

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

macOS Big Sur で pyenv が使えない場合

こんなふうになってしまう場合

% pyenv install 3.8.3

・・・・
configure: error: C compiler cannot create executables

Xcode 12のインストール

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

  • Xcode 12 beta 3
  • Command Line Tools for Xcode 12 beta 3

この2つをダウンロードしてインストール

Xcode → Preference から コマンドラインツールで使うXcodeを 12 beta 3にしておく

zlib インストール

% brew install zlib 
% export LDFLAGS="-L/usr/local/opt/zlib/lib" 
% export CPPFLAGS="-I/usr/local/opt/zlib/include" 

python インストール

% CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.8.0 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.0.tar.xz...
-> https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz
Installing Python-3.8.0...
patching file Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
patching file configure
Hunk #1 succeeded at 3394 (offset -32 lines).
patching file configure.ac
Hunk #1 succeeded at 498 (offset -12 lines).
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.8.0 to /Users/[USER]/.pyenv/versions/3.8.0
% CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.8.3 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.3.tar.xz...
-> https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tar.xz
Installing Python-3.8.3...
patching file Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
patching file configure
Hunk #1 succeeded at 3398 (offset -28 lines).
patching file configure.ac
Hunk #1 succeeded at 498 (offset -12 lines).
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.8.3 to /Users/[USER]/.pyenv/versions/3.8.3

確認

% pyenv versions
* system (set by /Users/[USER]/.pyenv/version)
  3.8.0
  3.8.3
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macOS Big Sur で pyenv Python インストールできない場合

こんなふうになってしまう場合

% pyenv install 3.8.3

・・・・
configure: error: C compiler cannot create executables

Xcode 12のインストール

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

  • Xcode 12 beta 3
  • Command Line Tools for Xcode 12 beta 3

この2つをダウンロードしてインストール

Xcode → Preference から コマンドラインツールで使うXcodeを 12 beta 3にしておく

zlib インストール

% brew install zlib 
% export LDFLAGS="-L/usr/local/opt/zlib/lib" 
% export CPPFLAGS="-I/usr/local/opt/zlib/include" 

python インストール

% CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.8.0 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.0.tar.xz...
-> https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz
Installing Python-3.8.0...
patching file Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
patching file configure
Hunk #1 succeeded at 3394 (offset -32 lines).
patching file configure.ac
Hunk #1 succeeded at 498 (offset -12 lines).
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.8.0 to /Users/[USER]/.pyenv/versions/3.8.0
% CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.8.3 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.3.tar.xz...
-> https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tar.xz
Installing Python-3.8.3...
patching file Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
patching file configure
Hunk #1 succeeded at 3398 (offset -28 lines).
patching file configure.ac
Hunk #1 succeeded at 498 (offset -12 lines).
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.8.3 to /Users/[USER]/.pyenv/versions/3.8.3

確認

% pyenv versions
* system (set by /Users/[USER]/.pyenv/version)
  3.8.0
  3.8.3
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

新しいMacを買ってからpyenv + poetryでPythonの環境構築手順書

前提

MacOS Catalinaでの手順です。
zsh対応しています。

pyenvとは?

Pythonのバージョンを簡単に切り替えるためのツールとなります。
最近はPython2は使うことないと思いますが、Python3内でのバージョン切り替えが簡単にできるようになるのは便利です。

poetryとは?

Pythonのパッケージ管理するツールとなります。

.zshrcの設定

echo 'export PIPENV_VENV_IN_PROJECT=1' >> ~/.zshrc
. ~/.zshrc
echo $PIPENV_VENV_IN_PROJECT
> 1

pyenvのインストール

git clone git://github.com/yyuu/pyenv.git ~/.pyenv
git clone git://github.com/yyuu/pyenv-update.git ~/.pyenv/plugins/pyenv-update

~/.zshrcにパスを追加

vim ~/.zshrc
.zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

ターミナルを再起動

pyenv update
pyenv --version
> pyenv 1.2.20

pyenvで使うPythonのバージョンを設定

今回は3.7.4にしてますが、お好きなバージョンを指定してください

pyenv install 3.7.4
pyenv global 3.7.4
pyenv versions
> * 3.7.4 (set by /Users/***/.pyenv/version)

ターミナルの再起動
バージョンの確認

python --version
> Python 3.7.4
pip --version
> pip 19.0.3 from /Users/***/.pyenv/versions/3.7.4/lib/python3.7/site-packages/pip (python 3.7)

pipの設定

pip install --upgrade pip
pip --version
> pip 20.2 from /Users/***/.pyenv/versions/3.7.4/lib/python3.7/site-packages/pip (python 3.7)

poetryのインストール

curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python

~/.zshrcにパスを追記

vim ~/.zshrc
export PATH="$HOME/.poetry/bin:$PATH"

ターミナルを再起動

poetry --version
> Poetry version 1.0.10
poetry self update
> You are using the latest version

ローカルのPythonに必要なパッケージを追加する

ここ必要に応じてパッケージを追加してください
飛ばしても大丈夫です

pip install pipenv
pip install awscli
pip install awslogs

インストールしたパッケージの確認
バージョンは異なる可能性が高いです

pip freeze
> awscli==1.16.254
> awslogs==0.11.0
> boto3==1.9.244
> botocore==1.12.244
> certifi==2019.9.11
> colorama==0.4.1
> docutils==0.15.2
> jmespath==0.9.4
> pipenv==2018.11.26
> pyasn1==0.4.7
> python-dateutil==2.8.0
> PyYAML==5.1.2
> rsa==3.4.2
> s3transfer==0.2.1
> six==1.12.0
> termcolor==1.1.0
> urllib3==1.25.6
> virtualenv==16.7.5
> virtualenv-clone==0.5.3

Poetryでプロジェクトの作成

新規でプロジェクトを作成する場合

poetry new my-package

既存のプロジェクトをpoetryで管理する場合
(色々聞かれますが、そのままEnterで大丈夫です)

poetry init

パッケージを追加する

poetry add [パッケージ名]

pyproject.tomlからパッケージをインストール

poetry install

pyproject.tomlからパッケージを更新

poetry update

以上となります。
お疲れ様でした。

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

Macのターミナルでファイルを検索する。

ファイルがディレクトリの何処にあるのかを知りたい。

たまにファイルがディレクトリの何処にあるのかを知りたい時があるのでファイルの場所を調べる方法です。

今回の環境。

この記事を書いた時点での

  • macOSのバージョンはCatalina(10.15.6)でビルド番号は19G73。
  • ターミナルのバーションは2.10(433)。

試しにVagrantfileが何処のディレクトリにあるのか調べてみる。

ファイルの場所を調べるコマンドはfindコマンドを使います。コマンドの書式例は
find [オプション][検索範囲][検索するファイルの種類を指定]
~を入れているのはホームディレクトリから下の階層で探すという事を示しています。
今回はVagrantfileという名前を探したいので-nameを使って名前を指定して検索します。
-type fはファイルだけに絞って検索します。今回はフォルダは検索の対象にはしません。

sudo find ~ -name Vagrantfile -type f
/Users/username/MyVagrant/MyCentOS/Vagrantfile

この環境ではVagrantfileという名前のファイルは/Users/username/MyVagrant/MyCentOS/Vagrantfileという
ディレクトリにあることが分かりました。
この様にfindコマンドを使えばファイルが何処のディレクトリにあるのかを知る事が出来ます。

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