Pythonのバージョン管理をPipenvにした話。Windows10ではPipenvがベストプラクティスな気がする。

どうも、りーずです。

・Windows10でのPythonのバージョン管理はPipenvが良い
・Pipenvを使えるようにする手順
・Pipenvの使い方
・requirements.txtを作成する
・requirements.txtから仮想環境をpipenvで作る
・仮想環境を有効にしようとすると「このシステムではスクリプトの実行が無効になっているため、ファイル ~.venv\Scripts\activate.ps1 を読み込むことができません。」と出る場合
・まとめ

このような構成でお届けします。Pipenvは良いよ!というメモです。

pip install pipenv
pip list
pipenv --python 3.7
.venv/Scripts/activate
deactivate
pipenv install django==2.2
django-admin startproject プロジェクト名
django-admin startapp アプリ名
python manage.py runserver
pipenv lock -r > requirements.txt

今回実際に使うのは上記のコマンドです。


・Windows10でのPythonのバージョン管理はPipenvが良い

Windows10環境のPythonのバージョン管理でAnacondaを使ったり、Virtualenvを使ったり、素のPythonでpipを使っていたりしたのですが、最近はPipenvがDjangoなどの開発には向いているのではないかと思うようになりました。その理由を述べていきます。

最初はWindows10でAnacondaを使おうとしたのですが、使いたいライブラリがなかなか動かせなかったり、インストールの設定でどれがベストなのかが分かりにくかったり、pipコマンドと混ぜると良くない(?)などの情報があり、使わなくなりました。
一言でいうと初心者には難しいです。

その後、Udemyや海外のYouTubeのPythonの英語の動画を見ているとよく使われているvirtualenvを使っていました。

しかしvirtualenvはPythonのバージョンを切り替えられないという欠点がありました。
(Python3.6、3.7、3.8などを切り替えられない。)

そこで色々と調べた結果、Pipenvを使うと
・Pythonのバージョンそのものも管理(切り替え)が出来る
・個々のフォルダ内で環境を作り、アクティベートするとそのまま設定したものが使える

というように、やりたいことが出来る唯一のバージョン管理ツールでした。
これには非常に利便性を感じたので、Djangoなどのアプリケーションを作ったり、ちょっとしたプログラミングをするにはPipenvでいいかな、という結論になりました。

僕はAnacondaとの共存は諦め、とりあえずPipenvのみでやっていこうと思いました。

これらのツイートで貼っているリンクが参考にしたものです。


・Pipenvを使えるようにする手順

まず、使いたいPythonは、公式からダウンロードしてインストールしておきます。(重要)

Python3.8を使いたければそれをダウンロードしてインストール、Python3.7を使いたければそれをダウンロードしてインストール、という感じです。

Pythonのインストール先ですが、

C:\Python
というフォルダを作り、そこに

Python3.6.7の64ビット版は
C:\Python\Python367

Python3.8.5の32ビット版は
C:\Python\Python385-32

という感じに数字を割り振り、分かりやすいように名前をつけてインストールしていくと良いです。
Program Filesフォルダにインストールすると、空白でエラーになるような事があったので、気をつけましょう。

僕は、インストーラーでパスは通してインストールしました。

「パスが通っている/パスを通す」という日本語は、「Windows10のシステム環境変数のPathという変数に、プログラムの設定がされているという意味です。これをすることにより、ターミナル上で、プログラム名を入れるだけでプログラムを実行することが出来るようになります。「python」というコマンドが動くのも、「パソコン上のどこにあるpython.exeを動かすかが指定されているから」です。)

参考:『「PATH を通す」の意味をできるだけわかりやすく説明する試み』
https://qiita.com/sta/items/63e1048025d1830d12fd

パスを通すと、『環境変数で一番上に来ているPythonのバージョン』がターミナル(コマンドプロンプト)のデフォルトになります。以下のようなイメージ。

3つのPythonをパスを通してインストールしている図。 この場合、実際にターミナル(コマンドプロンプト)で動くのは一番上のPython 3.85の32bit版になる。

もし、Windows10のターミナルコマンドで使いたいデフォルトのPythonのバージョンを変えたい場合は、システム環境変数の設定でそのバージョンを一番上に持ってくればOKです。
2行でセットなので、2行とも上に持っていきましょう。

ちなみに上の図で「使われない」と書かれているPythonも、以下のPipenvによって、仮想環境で使えるようになります。

(僕はすべてのPythonのパスを上記の画像のように残していますが、実際に残すのはpipenvをインストールするPythonのパスだけで大丈夫です。)

・Pipenv(バージョン管理ツール)のインストール

さて、次はPipenvを入れなければいけません。

そして、これに限ってはPythonのどれかのバージョンに直接pipコマンドで入れる必要があります。
pipコマンドは
pip install ライブラリ名
で、PythonのライブラリをインストールできるPython公式のコマンドです。
ライブラリの管理に使います。

Pipenv(これもライブラリです)を入れるPythonのバージョンは、インストールしているPythonの最新のバージョンで良いと思います。

Pythonを入れているフォルダには「Scripts」という名前のフォルダがあり、どんなライブラリが入っているかを確認することが出来ます。

僕の場合は
Python3.8.5の32ビット版にPipenvを入れました。

まぁどれに入れても大丈夫だと思います。
現在pythonコマンドのパスが通っているものに入ります。

では、実際にPipenvを入れてみましょう。まずはどのバージョンのPythonがターミナルで動いているか確認しましょう。

python --version

ここのPythonにPipenvを入れるので、バージョンは一応覚えておきましょう。
そうしたら、ターミナルで

pip install pipenv

と打ち、Pipenvをインストールします。現在パスを通しているPythonのバージョンのScriptsフォルダにインストールされます。

pip list

というコマンドで、インストールされたモジュール(ライブラリ)の一覧が表示されます。確認してみましょう。

もしうまくインストールされない場合は、Windows Power Shellのアイコンを右クリックして「管理者として実行する」で起動して、そこでコマンドを打ってみて下さい。

管理者権限でWindows Power Shellを起動する画面 。(タスクバーを縦に設定してるのは気にしないでください)

管理者権限でWindows Power Shellを起動する画面 。(タスクバーを縦に設定してるのは気にしないでください)

Cドライブ等にコマンドで変更を加える場合は管理人権限での実行が必要になる場合があるからです。

・システム環境変数を設定する
次に、環境変数の設定です。ここがポイントです。

『プロジェクトのフォルダ直下にPipenvの仮想環境が作られてほしい』ので、
新たに環境変数を設定します。

例えばプロジェクトのフォルダごと消去すれば、仮想環境ごと消せますし、プロジェクトフォルダに入ってターミナルでアクティベートコマンド(.venv/Scripts/activate)を実行するだけで、そのプロジェクトに設定した環境がすぐ立ち上がるようになります。

まずは、Windows10の左下の検索窓に『環境変数』と打ち込み、『システム環境変数の編集』画面を出しましょう。以下のようにして下さい。

Windows10の左下の検索窓に『環境変数』と打ち込む。

そうしたら、出てきた、『システム環境変数の編集』をクリックします。

※「環境変数を編集」をクリックすると「システム環境変数の編集」がグレーアウトするので注意。選ぶのは「システム環境変数の編集」です。

すると「システムのプロパティ」画面が出てきて
「環境変数」とクリックできる画面が出ます。そこで「環境変数」をクリック。

以下のように環境変数を編集する画面が出るはずです。

Windows10の環境変数(『システム環境変数』のほう)に「PIPENV_VENV_IN_PROJECT」という項目を作り、「true」という値を入れます。

以下の画像のようにします。

「システム環境変数」のなかに変数「PIPENV_VENV_IN_PROJECT」を作り、値を「true」にする

「システム環境変数」の「新規」で追加しましょう。

変数:PIPENV_VENV_IN_PROJECT
値:true

これにより、pipenvコマンドを使うとその各フォルダのルート直下に仮想環境が構築出来るようになります。

そうしたらパソコンを再起動しましょう。環境変数を反映させるためです。

・Pipenvの使い方

Pipenvの実際の使い方を説明します。
まず、仮想環境を作りたいフォルダ(プロジェクトフォルダ)を作ります。

そうしたらターミナルでその場所に移動し、そこで

pipenv --python 3.7

のように打ちます。(これは例なのでpython 3.8でも何でも良いです。)

こうするとその場所に仮想環境がPython3.7で構築されます。
(指定する「Python3.7」は手動であらかじめインストールされている必要があります。)

次に、

.venv/Scripts/activate

と打つと、アクティベート(仮想環境に入ること)ができます。
(ScriptsのSは小文字でも動きました)

deactivate

で、ディアクティベート(仮想環境から抜けること)ができます。

あとは自由に、djangoなどのライブラリを追加でインストールしていきましょう。
インストールする場合はアクティベート(仮想環境に入る)した状態で行います。
そして、仮想環境に何かをインストールする場合は必ず

pipenv install django==2.2

このように「pipenv install」というコマンドを使います。
通常の「pip install」だと、おそらく仮想環境ではなく「今パスの通っているPythonの本体」にインストールされてしまいます。

何がインストールされているか確認したい場合は

pipenv graph (パッケージの依存関係をツリー表示)
pipenv graph --reverse (パッケージの依存関係の逆をツリー表示)
というコマンドで確認できます。

ライブラリをアンインストールしたい場合は
「pipenv uninstall ライブラリ名」で削除できます。

pipenv uninstallをした後、不要なパッケージが残る可能性があるので
pipenv clean
というコマンドを使うと不要なパッケージが整理されるので良いです。

参考:https://qiita.com/eduidl/items/c0e8256bb3a5a735d19c

また、仮想環境をまるごと消したい場合は「pipenv install」で作成されたファイルとフォルダを手動で削除するだけでOKです。

.venv
Pipfile
Pipfile.lock

この1つのフォルダ(.venv)と2つのファイル(Pipfile、Pipfile.lock)です。

以上でPipenvの簡単な説明でした。

仮想環境を、Pythonのバージョンを指定して作成出来て、
それぞれのフォルダで仮想環境を作成&立ち上げられることが便利ですね。

使うときにはアクティベートのコマンド(.venv/Scripts/activate)を打つだけなので、どのPythonのバージョンで作ったかを覚えておく必要もありません。

アクティベート後にPythonのバージョンを確認したい場合は

python --version

で確認出来ます。
アクティベート後は普通のpythonコマンドで、その仮想環境のPythonが実行されるようになります。

ちなみに、djangoをインストールしたあとは
django-admin startproject プロジェクト名

のようにしてプロジェクトを作り
その中に入って
django-admin startapp アプリ名
でアプリを作り、
そのあとに
python manage.py runserver

としてから
http://localhost:8000/
(ローカルのサーバー。実行時にポート番号は8000と表示されるはず)
にアクセスしましょう。

参考:
「PipenvでDjango開発環境をつくる」
https://qiita.com/nochifuchi/items/4fe0164f0d8949cf11b7

・requirements.txtを作成する

requirements.txtを作成するには、
コマンドライン(ターミナル)で、

pipenv lock -r > requirements.txt

を実行します。

参考:「Pipenvことはじめ」
https://qiita.com/shinshin86/items/e11c1124e3e2e74556b8#requirementstxt%E3%81%AB%E6%9B%B8%E3%81%8D%E5%87%BA%E3%81%99

・requirements.txtから仮想環境をpipenvで作る

パターン1:Pythonのバージョンを指定したい場合

仮想環境のPythonのバージョンを指定したい場合は

最初に
pipenv --python 3.7(指定したいバージョン)
として、一番最初にPythonのバージョンを指定して仮想環境を作っておきます。
そして
.venv/Scripts/activate
で仮想環境に入り、
そのあとに requirements.txtのあるフォルダで
pipenv install
をします。そうするとそのPythonのバージョンとrequirements.txtの指定で環境が作られます。

パターン2:仮想環境のPythonのバージョンはpipenvのpythonで良い場合

Pythonのバージョンが、pipenvを入れてあるPythonのバージョンで良いのであれば、
requirements.txtから仮想環境をpipenvで作るには、そのディレクトリでそのまま

pipenv install

を実行すれば完了です。

一応「パターン1」のほうで明示的にPythonのバージョンを指定して作ったほうが良いとは思います。

参考:「requirements.txtからのインポート」
https://pipenv-ja.readthedocs.io/ja/translate-ja/basics.html#importing-from-requirements-txt


・仮想環境を有効にしようとすると「このシステムではスクリプトの実行が無効になっているため、ファイル ~.venv\Scripts\activate.ps1 を読み込むことができません。」と出る場合

Windows10のPowerShell(コマンドラインツール)では、スクリプトを実行するときに実行ポリシーを変更してあげないと、PowerShellを管理人権限で起動していても仮想環境を有効にできないことがありました。

.venv\Scripts\activate
コマンドを打つとエラーが出る場合です。

その場合はPowerShellを管理人として実行して、

> Set-ExecutionPolicy RemoteSigned

というコマンドを打つと、仮想環境を有効に出来るようになります。
一度設定すれば大丈夫です。

詳細は

「PowerShellでvirtualenvを使うには – Qiita」

https://qiita.com/ryu22e/items/520b35db6a444d8289da

こちらを参考にしてみて下さい。


・まとめ

まとめです。
pipenvの導入方法は
pip install pipenv
として導入。
プロジェクトのフォルダ直下にPipenvの仮想環境が作られてほしいので、システム環境変数の設定を必ず行う。

使い方は、
pipenv --python 3.7
で仮想環境を作成。
指定するPythonのバージョンはインストールされている必要がある。

仮想環境を作成したら
.venv/Scripts/activate
でアクティベート。
抜けるときは
deactivate
でディアクティベート。

あとは仮想環境に
pipenv install django==2.2
のようにして入れたいライブラリを入れていく。

(Djangoの場合はライブラリを入れたあとに
django-admin startproject プロジェクト名
このようにライブラリが用意したコマンドを打って、実際のコードを自動生成させていく。)

もしプロジェクトが要らなくなったらそのフォルダごと削除すればOK。


Pipenvについて、より詳しくは、

「Windows + Python + pipenv でらくらく開発環境構築」
https://qrunch.net/@toyocy/entries/Y2wBhjSWunnK0CPI

「Pipenvを使ったPython開発まとめ」
https://qiita.com/y-tsutsu/items/54c10e0b2c6b565c887a

これらの2つの記事が詳しいので参考にしてみて下さい。


おまけ

pipenvコマンドを使うと、

pipenv : Courtesy Notice: Pipenv found itself running within a virtual environment,
so it will automatically use that environment, instead of creating its own for any p
roject. You can set PIPENV_IGNORE_VIRTUALENVS=1 to force pipenv to ignore that envir
onment and create its own instead. You can set PIPENV_VERBOSITY=-1 to suppress this
warning.

という文が出ることがありました。そこで通知文のいうように環境変数に
PIPENV_IGNORE_VIRTUALENVS=1
を追加すると
python manage.py runserver
コマンドでdjangoを動かしたときにサーバーが停止出来なくなる挙動が出ました。
なので、現在はこの環境変数は設定していません。
まぁざっくり言うと、通知文は無視してOKということです。

参考:「pipenv で任意の場所の仮想環境を使う」
https://qiita.com/tonluqclml/items/cd0d2a2cb0197cbaee42


勉強中なので、なにか間違いがございましたらTwitterでリプを頂けると助かります。

iPhone 6sをiPhone XRにした話。

どうも、りーずです。

本日、iPhone 6sをiPhone XRにしました。

どうも最近、iPhone 6sが重くて、アプリの挙動が悪かったんですよね。
そして今年秋に発表されると言われているiOS15。ここでiPhone 6sのiOSサポートは切れると言われています(iOS14までのサポート)。

イオシスで中古のiPhone XR 128GB SIMフリー版をランクAで購入。
非常に綺麗です。傷といえる傷はなし。ほぼ新品ですね。
バッテリーの最大容量は91パーセントでした。これはAppleストアにいけばバッテリー交換できるので、問題なし。

税込みで48,800円、送料が640円。
合計金額が49,440円です。

また、データ移行の前にiPhone 6sのSIMロックを解除しておきました。
ドコモストアに行くと手数料(税込3,300円)がかかるらしく、ドコモストアで聞いたところネットやったほうが早いし無料、ということでやってみました。

「SIMロック解除は自分でできる! キャリア別の条件と解除方法を徹底網羅!」
https://www.soldi.jp/articles/method_of_sim_unlock/

上の記事を参考にしました。dアカウントが必要ですが、dマガジンやdアニメを利用していた事があったのでそのアカウントで行えました。
dアカウントにログイン。IMEI番号を入力して「解除する」とするだけです。
https://www.nttdocomo.co.jp/mydocomo/

検索窓で「SIMロック解除」と検索すると設定画面が出てきます。

次にバックアップ手順をサクっと解説。

・バックアップ(データ移行)してiPhoneを動かす手順

まずは、Windows10のiTunesとiPhone6s/iPhoneXRのiOSをすべて最新にしている必要があります。

①iPhone6sの完全バックアップをWindows10のiTunesで作成する。
(Windows10のiTunesで作成。iPhoneのバックアップを暗号化、にチェック。自動同期はOFFに設定。)
注意点は暗号化されたデータを復元するときにパスワードが必要になるので「バックアップ暗号化用のパスワード」を忘れないようにしましょう。これは自分で設定します。

過去に同様のことをしている場合は、一番最初に設定した暗号化パスワードが必要になります。
どこかにメモしておきましょう。
このパスワードを忘れると、再設定が出来ないようなので、注意しましょう。
http://iphone.f-tools.net/Trouble/iPhone-Backup-Password.html

僕も忘れかけてしまっていたのですが記憶の奥底から引き出しました。

②LINEの引き継ぎ設定をONにする。
(36時間以内に引き継ぎする)

③iPhone 6sからSIMカードを取り出し、iPhone XRに取り付ける。
(SIMロック解除をしていない場合は、この作業をする前にiPhone6sのSIMロック解除をしましょう)

④iPhone XRを起動。パスコードの設定などをします。

「新しいiPhoneとして設定」ではなく、既存のバックアップデータから設定、のような項目を選び、「Appとデータ」の画面で「Appとデータを転送しない」を選びます。
すると、空のデータでiPhoneのホーム画面まで行けるようになるので、そこからiOSを最新にします。Wifiに繋ぐ必要があるのでWifiのパスワードを用意しましょう。

⑤Windows10とiPhone XRを繋ぎ、iTunesでバックアップを復元する。
「iPhoneを探す」はOFFにしておく必要があります。

⑥iPhone XRのほうでLINEの引き継ぎ設定をする。

⑦構成プロファイルをインストールし直す(格安SIMの場合)
格安SIMの場合は、新しいiPhoneのほうでネットワーク設定をし直す必要があります。
「〇〇(会社名) iPhone プロファイル 」で検索すると出てくると思います。

mineoの場合は
https://support.mineo.jp/setup/guide/ios_network.html

コチラを参考にどうぞ。

「設定」>「一般」>プロファイル
の構成プロファイルというものがあるのでまずは「プロファイルを削除」
をします。
そのあとに上のURLから新しいプロファイルをインストールします。

インストールの方法は、ファイルをダウンロードしてから
「設定」>「一般」>プロファイル
に行けば「インストール」という表示が出てくるので、それを押すだけです。

⑧最後にiPhone XRの「iPhoneを探す」をONにすれば完了
です。

アップデート等に地味に結構時間がかかるので、暇な日の午後などにやると良いかもしれません。

(なんだかんだ色々インストールし直したり調べたりするので、3時間くらいかかりました)

あとは、iPhoneに触ると勝手にホーム画面がつくという挙動があったので

こちらで解決しました。

ログインし直す必要があったアプリ
・YouTube
Google系は、1つにログインすると他のすべてにログインしている状態になるようです(?)

・PUBG
PUBGはログインしたらグラフィックの設定なども前の端末のものと同じでした。

・Kindle
Kindleもログインする必要がありました。Amazonのパスワードです。
ただ、こちらは自動パスワード候補が出てきたので、実質何も入力していないです。

ログインし直す必要のなかったアプリ
他のアプリはほとんどログインした状態でデータ移行出来ています。凄い。
TikTok、Twitter、Facebook、Pixiv、discord、Mixchannel、ジモティー
など、メジャーなアプリからマイナーなアプリまで、ほぼすべて最初からログイン状態になっていました。

・iPhone XRの第一印象
横画面にしたときにステレオスピーカーになるのがとても良いですね。
iPadの必要性が少し薄れました。
あとはキーボード英語入力がとてもしやすいです!この画面サイズはアリですね。
この画面サイズでAppleペンシルが使えたら最強だな、と思いました。

iPhone自体は「もっと早く買い替えておけば良かった」というのが正直な第一印象です。新しいものは良いですね!
ただ、軽い処理でもちょっと熱を持ちすぎるのが気になっています。

『この空の下で』というミク曲を投稿しました!春っぽい新曲が出来たので、投稿する過程を記したブログ。

初音ミクで『この空の下で』という曲を作りました。

Cubaseをカチカチいじっていたらメロディが出来て、ベースをつけてドラムをつけて、コードを付けたら良い感じになりそうだったので作っていった感じです。歌詞も割とすんなりと決まりました。

今回は終わりの部分のピアノ以外は割と打ち込みが多いですね。(でもよく考えたらコード進行やストリングスはリアルタイム鍵盤ですね…)

・今回の曲作りの順番の話

メロディとベースが今回は打ち込みです。

メロディを、最初にピアノでなんとなくポチポチ打ち込んで遊んでいたところ、進行が歌メロになっていたのでミクさんに歌ってもらった感じです。
歌詞はメロディが出来た時点で打ち込みました。

記憶が正しければそのあとにベースとドラムをつけて、そのあとに伴奏のコード(ピアノ)を付けました。ストリングスはコードを付けた後に付けたと思います。

そして、さらにその後にサビの部分の右アコギ左エレキギターを足していった感じですね。

Bメロにしか出てこないピアノの装飾は一番最後に付けました。

・公開する際の話

イラストは色々とピアプロを回った結果、爽やかな春っぽいイラストでU35さんのイラスト『2016.3.9』をお借りしました!

動画はAviUtlで作成です。

https://piapro.jp/t/F-g7

2021年4/2、さっそく、YouTubeに9時ごろに投稿準備、ニコニコ動画にも投稿準備。

ちなみに、実は最後の一瞬だけ歌詞を一部変更しようか迷ったのですが、当初のものでいくことにしました。

投稿すると決めたら、もう悩まず決定しなければいけませんね。やはり予告は大事。

こちらがYouTube

 

こちらがニコニコ動画です。

さらに、今回bilibili動画にも投稿してみました。
DeepL翻訳を使いながら動画紹介文を作成です。

https://www.bilibili.com/video/BV1CK4y1N7yc

紹介ツイートはコチラ。

なんとか久しぶりの投稿、無事完遂です。

視聴、RTとイイネをしてくださった皆さん、そしてU35様、どうもありがとうございます!

Windows10 ProでDockerを使ってみる。Docker Desktop for Windows。【メモ】

Dockerを使ってみようと思います。

キッカケになった動画がこちら。

ちょっとやってみようかな、という気になりました。

まず、公式からDocker Desktop for Windowsを入れます。

Windows10のHyper-Vというのをオンにします。「Windowsの機能の有効化または無効化」とWindows10の検索窓で打つと、設定画面が出るはずです。そこから「Hyper-V」を探しましょう。

「Hyper-V」をオンにすると、パソコンの再起動が必要なのですが、このとき軽くエラーが出ます。

Cubaseを入れている場合は、パソコンを再起動するとSteinbergのSoft-elicenserまわりでエラーが出るので、eLicnencer Control Centerを起動して、メニューの「操作」タブから「修復」を選び、きちんと動くようにします。

そうしたら、Dockerを起動します。アプリなので、普通に起動。
Windows検索窓で「Docker」と打つと、「Docker Desktop」というのが出てきます。
それを実行。

・Dockerfileから仮想環境を作る。

Docker Desktopは実行した状態で、PowerShellを起動します。
プロジェクトの場所に行き、

docker-compose up -d

というコマンドを打つと、仮想環境が作られ、バックグラウンドでコンテナが実行されます。

参考『docker-compose run, up, build, createの違い。それぞれの役割を知る。 – Qiita』
https://qiita.com/yuta-38/items/29facbe3f236bf250651

 

以上でDockerの仮想的なLinuxによりプロジェクトが動いている状態になったので、プログラムを書いていけばOKのようです。

こちらのYouTubeの解説が分かりやすいです。

これで、Dockerで仮想環境が作成されたので、あとはその環境(コンテナと言います)を起動させて仮想環境のLinux上でコマンドを打ち、そこに何かを入れても良いでしょう。

Pythonのrequirements.txtがある場合は
pip install -r requirements.txt

でパッケージをインストールです。

ちなみにコンテナの起動や停止、コンテナ内に入るコマンドプロンプトの起動、コンテナの削除などは、Docker Desktopアプリからボタンを押すだけで可能なので、コマンドを打つ必要は無いようです。

かなり便利ですね。

・Docker環境のデータベースにWindows10のデータベース接続クライアントから接続する

Windows10のデータベース接続クライアントからDockerの仮想環境内のデータベースに接続出来ました。Heidi SQLというデータベース接続クライアントを使いましたが、特に特別な設定は不要で、仮想環境を実行中にWindows10から仮想環境のLinuxのMySQLに接続できました。
ここまで出来れば、もう何でも出来る感じがします。

こちらの記事が役に立ちました。

プログラムは通常のWindows10でコーディングをして、実行は仮想環境のLinux(Windows10で作ったdockerのフォルダがそのままLinuxのフォルダに相互反映されます。

ここが不思議なところですが、仮想Linux上でフォルダを作ったりファイルを変更してもWindows10のファイルも変更されますし、Windows10のdockerプロジェクトで同じことをしても、仮想Linux上で反映されます。

これがdockerの凄いところですね。実行だけ仮想Linuxで、編集などは既存のWindows10の環境(VS Code)などが利用できる感じです。

 

こちらの動画の、Dockerをゲームのセーブデータに例える説明がとても分かりやすかったので、参考にしてみて下さい。

ニトリのワークチェア(約5年使用)がギーギーうるさかったので油を注したら新品同様、異音がしなくなったお話。

どうも、りーずです。

最近、昔購入したニトリのワークチェア(確か2015年前後に購入)が、ギーギー音を出すようになりました。

(ツイート、誤字ってますね…)
そこで、ツイートにもあるように

こちらを購入し、異音がする部分にスプレーしてみたところ、全く音がしなくなりました。
これはマジです。今まさに喜びに浸っています。危なく(同じ)椅子を買い替えるところでした…

ということでこれをシェアすべく、詳しく書いていきたいと思います。

ちなみに、シリコンスプレーと、グリススプレーという二種類があるのですが、長期ではグリススプレーが良い、とのことで今回こちらを購入しました。


・異音がしていた時はどういう感じだったか。

これは動画を録っておきました。今となっては動画を録っておいて良かったと思います。
全く音がしなくなったら、検証できませんからね。

このような感じです。※不快なギシギシ音が鳴るので、ご注意下さい。

かなり異音がひどいのがお分かりになるでしょうか。

少しずつ異音がひどくなり、なかなか作業に集中しにくくなり、とても困っていました。

・スプレーをした後

それが、上記で購入したグリーススプレーを使うと、(といっても色々と試行錯誤したのですが)こうなりました。

 

 

全く音がしなくなり、音的には新品同様になりました。座ってももちろん全然音がしません。驚きです。

・スプレーをする箇所がかなり重要。

今回、油を注した場所が良かったと思います。
原因といいますか、音の出る位置がなんとなく分かり、そこにスプレーしました。

今回のスプレーは、非常に細い針のようなノズルが出ているので、かなり細かい部分に狙い打ちができます。

「怪しい」と踏んだのは、この部分です。写真をまずはご覧ください。

ワークチェアを斜め後ろから見た図。

ワークチェアを斜め後ろから見た図。

ここの、赤で丸をしたシルバーの部分の内側に棒があるのですが、(上の写真の部分にスプレーするわけではないです)

真後ろから見た図。金属棒が見える。その両端にスプレー。

真後ろから見た図。金属棒が見える。その両端にスプレー。

後ろから見るとこのような感じです。ここにスプレーします。

ちょっと見づらいのですが、金属棒があります。その両端の2か所にスプレーをします。
ギーギーいわせると、明らかに接触している感じだった、金属棒の左右の接続部分です。
ちょうどこの写真のアングルのように、椅子を後ろから見て、そのままスプレーです。

実はこの写真の穴の手前側にロッキング用の棒と機構もあるのですが、それは関係ないので、ロッキングのノブを回して、写真のように見通せるようにしながらスプレーします。

左右それぞれに2、3回スプレーをすると、全く音がしなくなりました。

ちなみにそのほかにも
・上の写真の奥にある支柱のような棒
・椅子の前側にあるロッキング固定部分の金属棒

にもスプレーしました。

椅子の前側にあるロッキング固定部分。

椅子の前側にあるロッキング固定部分。

 

一番効果があったのが、最初に説明した金属棒の両端の部分です。

お使いの椅子によってポイントが違ってくると思いますので、色々と探してみて下さい。

・使っている椅子

ちなみに、僕の使っているワークチェアはこれです。

「ワークチェア(クロウド MC BK) – ニトリ」
https://www.nitori-net.jp/ec/product/6620763s/

上のリンク、パソコンからだと2回クリックしないと製品ページが出ないようです。なぜだ…
全く同じ製品の場合は今回のポイントも同じだと思いますので、参考にしてみて下さい。

※一応、今回の方法は公式の方法ではありませんので、自己責任でお願いいたします。

・スプレーをするときの注意点など

また、スプレー自体は灯油のような成分のようです。
スプレーをするときと、したあとはかなり臭くなります。(しばらくすると臭いは無くなります)
必ず換気をして、窓を開けた状態で作業をして下さい。

スプレーをする瞬間も、一瞬息を止めていたほうが良いと思います。スプレーをしたらすぐ離れましょう。

 

椅子を長く使うとギシギシいうようになりますが、こんなに簡単に直るとは思いもしませんでした。

ということで、何かの参考になれば幸いです。

こちらが今回買ったスプレーです。探した中ではおそらく一番安くて早く届きます。

快適なデスク時間をお過ごしください!


※AmazonのリンクはAmazonアソシエイトを使用しています。

ワードプレスでスマホから画像付きで記事の投稿はできるのか?

 

どうも、りーずです。

 

ワードプレスでスマホから文章と画像の投稿が出来るかのテストです。

全てスマホのブラウザから行います。

まずはこちら。画像です。

ELECOM M-DUX50

ELECOM M-DUX50

いつも使っているマウス。

普通に、ワードプレスの『メディアを追加』を押して、写真を追加する事が出来ました。

キャプションも入れられますね。

メディアのサイズは、フルか中か、などが選べます。パソコンでやるように、マウスで細かくサイズ調整は出来ませんでしたが、『カスタムサイズ』という項目もあり、そこで縦横のピクセル数が入れられるので、数字を見ながら調整も割と行けそうです。

ということで、意外にもワードプレスはスマホ投稿が出来てしまう、という記事でした。

こちらが上の写真で載せた、僕の愛用しているマウスです。
これ無しでは生きていけません。

このように、『デスクトップ用Webサイトを表示』で、パソコンサイトのAmazonを開けば、Amazonアソシエイトリンクも取得出来ます。

今はiPhone6sを使っていますが、もう少し画面サイズの大きいスマホなら余裕で出来そうです。

ちなみに投稿時の欠点も発見しました。
それは、タイトルが見えなくなった部分をスクロールして見る事が出来ないことです。Simejiのスクロールでは右にいきませんでした。

1度全選択してからカットして書き直すしかないようです。

ここから右にいけません。

以上、検証記事でした。

この記事は全部スマホで書きました。

なかなか便利ですね。

機会があったらまた使っていきたいと思います。


※リンクはAmazonアソシエイトを利用しています。

Pythonで作ったスクリプトをexe化する方法。Pyinstallerで.exeファイルにしよう。【Windows10環境】

Pythonで作ったスクリプトをexe化する方法です。スクリプトをWindowsの実行ファイル(.exe)にします。

『pyhon.py→exe化→軽量化→高速化 忘備録(pyinstaller py2exe)』
https://medium.com/lsc-psd/pyhon-py-exe%E5%8C%96-%E8%BB%BD%E9%87%8F%E5%8C%96-%E9%AB%98%E9%80%9F%E5%8C%96-%E5%BF%98%E5%82%99%E9%8C%B2-pyinstaller-py2exe-4cd7c5f70c99

こちらの記事を参考にPythonで作ったスクリプトをexeファイルにしようとしました。


僕は、Pythonのバージョン管理システムはPipenv環境なので「pip」とするところはすべて「pipenv」にしています。各自読み替えて下さい。

・まずはpyinstallerをインストールする
まず

pipenv install pyinstaller

として、pyinstallerのモジュール(ライブラリ)をインストールします。

・次に、exe化したいPythonスクリプトファイル(.py)をexeに変換する

exe化したいスクリプトのファイル名をdo.pyだとすると

pyinstaller do.py --onefile

としてあげて、そのコマンドで作られたdistというフォルダの中に

do.exe

というファイルが作られれば完成です。

これで終わりです。

・コマンドプロンプトを出したくない場合は .py ではなく .pyw としてコマンドを実行する

実は、.pyをそのままexe化すると、プログラム実行時にコマンドプロンプトが起動した状態になります。
これでは気になる方がいると思いますので、その場合は元のスクリプトファイルの名前を

do.pyw

のように、拡張子を pyw にします。
そして

pyinstaller do.pyw --onefile

というコマンドを打つと、出来上がったプログラムファイルでは、コマンドプロンプトが起動しなくなります。ゲームやTkinterを使ったプログラムなどをexe化するときはこちらのやり方を使うと良いかもしれません。

以上です。


・おまけ

もし上記で、エラーが出た場合は、

コマンド実行後に

do.spec

というファイルが作られるので、そのファイルの中にある

hiddenimports=[]
という部分を

hiddenimports=['pkg_resources.py2_warn']

と変えてあげると良いそうです。
ちなみに、ここがポイントで、
'の部分は'(シングルクォート)だと思います(おそらく)。
分からなかったらこれをコピペして下さい。
キーボードでいうと、シフトキーを押しながら7のボタンを打つと出力される記号です。

そうしたら今度は

pyinstaller do.spec --onefile

と打つと、distというフォルダの中に

do.exe

という実行ファイルが出来上がるはずです。

以上で動きました。

何かの参考になれば幸いです。

参考:「パソコンのキーボードの記号の読み方」
http://tabotabo.my.coocan.jp/ccc/kigo.htm

「【Python】GUI表示におけるコンソール画面(コマンドプロンプト)を非表示にする方法」
https://genchan.net/it/programming/python/4183/

Fire HDのアプリ一覧。個人的に使えるオススメアプリなども紹介。Twitter、TikTok、Instagramもあるよ。

Amazon Fire HDのアプリ一覧です。需要がありそうなので載せておきます。

使えるオススメアプリなどもざっくり解説。

・FireOSアプリストアで入手できる有名アプリ一覧

(2021年1月現在)

・Twitter
・Facebook
・Facebook Messenger
・Facebook Lite
これはFacebookの軽い版らしいです。
・TikTok
・Skype(Kindle Tablet Edition)
・Spotify
音楽アプリはSpotifyかAmazon Musicの二択になるようです。Apple MusicはもちろんAWAもありません。
・Evernote
・Google Drive
・TuneIn Radio
・ATOK(日本語入力システム)有料
・Microsoft 翻訳
・OneDrive
・Microsoft Outlook
・DropBox
・ABEMA
・YouTube (FireOS版。バックグラウンド 続きを読む