日々鍛錬

日本で一番?わかり易い??システムの落書き帳???を目指し????,日々鍛錬中な元SEさん主婦研究者によるデベロッパとユーザと自分のための雑記帳

Pythonで仮想環境を構成する

ベースの環境でそのまますると,pipのレガシィ関連で2.xと3.xの環境がどうも混ざるぽい・・・
なので環境が壊れてしまう.
仮想環境を作成し, 仮想環境上で設定を行ってから入れていくようにする 

インストール環境

  • Windows 10 (Mac OS High Sierra)
  • Python 3.7 (conda update --all を行う)
  • Anaconda
  • 各ソフトウェアはanaconda cloudよりインストール

anaconda.org

  • pipについては, python3.xに統一したいので, pip3をpipとしてエイリアスで設定

インストール手順

anaconda cloud からインストールする.
注意事項としては以下がポイント

必ず仮想環境を作成して行うこと

ベースの環境でそのまますると,pipのレガシィ関連で2.xと3.xの環境がどうも混ざるぽい・・・
なので環境が壊れてしまう.
仮想環境を作成し, 仮想環境上で設定を行ってから入れていくようにする 

仮想環境を作成するコマンド:

conda create -n venvname python=3.x

ここで,venvnameは仮想環境の名前であり, 第5の引き数 python=3.xではpythonのVersionを入力する.
python のVersionを3.7, 仮想環境の名前をtestenv とすると, コマンドは以下の通り

conda create -n testenv python=3.7

この仮想環境上で今後の作業を行うようにする.

また, 今後この環境をどんどん拡張したい, つまり,環境のコピーはできないかのコマンドは以下の通り

conda create -n envclone --clone venvname

これで環境を複製していろいろトライができそう

追伸:
仮想環境(ここではtergetenvとした)を削除するコマンドは以下の通り、

conda env remove --name targetenv

ただし, ちゃんと事前に以下のコマンドから削除となる対象コマンドがあることを確認し,上記のコマンドを実行すること

conda info -e

PythonでGUIの構成を検討する

研究でGUIの開発を行う.
一番手っ取り早い方法は何か,いろいろ考えたけど,まだわからないのでメモ書き
まずは,Python自体ですべての作成を考えてみる.

ということで調べたら,Kivyとなるものを発見

kivy.org

インストール環境

  • Windows 10 (Mac OS High Sierra)
  • Python 3.7 (conda update --all を行う)
  • Anaconda
  • 各ソフトウェアはanaconda cloudよりインストール

anaconda.org

  • pipについては, python3.xに統一したいので, pip3をpipとしてエイリアスで設定しておくとトラブルの回避にできるだろう
必ず仮想環境を作成して行うこと

ベースの環境でそのまますると,pipのレガシィ関連で2.xと3.xの環境が混ざり,トラブルが発生した.
なのでエイリアスでpipをpip3として利用できるようにしたほうがよいかと考察した.
また,そのまま直接の環境でシステムを構成していくと,後々のトラブルにもつながる.
(そりゃ当たり前だよ。。。)
なので,設定はまず仮想環境の上でいろいろ検証すべき.
以下の設定から,検証関係を考えるようにする.
この検証については,別で記事を残す
tomokop.hatenablog.com

kivy インストールにあたり

必要なソフトウェアをcondaコマンド, pipからインストールしておく

cythonのインストール(conda コマンド)

conda install -c conda-forge cython

pygame

この記事の記述現在,conda コマンドで導入してもどうし手なのか認識されなかった.
原因を探しているが,現在のところ理解できていない.
なので,pip3 からの導入を検討した.
ただし,このpip3でのpygameインストールにおいて,2.xと3.xの混在にならないよう,コマンドの混在を気をつけるようにする.

pip3 install pygame

コンソール(anaconda promptでの確認がよい)上で, import を確認する.
以下のメッセージが提示されていれば,インストールされていることが確認

>>> import pygame
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html

pygame のサンプルはいろいろとあるらしい
以下をcommand prompt (anaconda)上で実行し,サンプルの実行を確認する.

python -m pygame.examples.aliens

あるいは

python -m pygame.examples.chimp

以下に様々なサンプルがあることを知る
PythonをインストールしてPygameを動かすまで - Qiita


上記のサイトは,pygameについて調べていたところ,以下より情報を得た.
qiita.com

kivyのインストール(conda コマンド)

kivyはconda-forgeからインストールを行った.

conda install -c conda-forge kivy

コンソール上で, import を確認する.
以下のメッセージが提示されていれば,インストールされていることが確認

>>> import kivy
[WARNING] [Config      ] Older configuration version detected (0 instead of 21)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in C:\Users\xxx\.kivy\logs\kivy_19-09-22_0.txt
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "C:\SysInstall\Anaconda3\lib\site-packages\kivy\__init__.py"
[INFO   ] [Python      ] v3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)]
[INFO   ] [Python      ] Interpreter at "C:\SysInstall\Anaconda3\python.exe"
>>>

warning が気になったので,更新を行った
message には,

[WARNING] [Config ] Older configuration version detected (0 instead of 21)
[WARNING] [Config ] Upgrading configuration in progress.

つまり,upgradeが適応されていない状態だったので, conda update --all (または, conda update kivy)で最新版へ更新
コンソール上で import kivy を確認すると,以下となり, warning が解消された

[INFO ] [Logger ] Record log in C:\Users\xxxx\.kivy\logs\kivy_19-09-22_2.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "C:\SysInstall\Anaconda3\lib\site-packages\kivy\__init__.py"
[INFO ] [Python ] v3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)]
[INFO ] [Python ] Interpreter at "C:\SysInstall\Anaconda3\python.exe"

Kivyの確認

早速, コードを記述し,確認する.
ファイル名をtestkivy.pyとした

#-*- coding: utf-8 -*-

from kivy.app import App
from  kivy.uix.label import Label

class TestApp(App):
    def build(self):
        return Label(text='Hello, my first kivy World')

TestApp().run()

コンソール上で python testkivy.pyを実行
(当然だが,指定する仮想環境上に入ってから実行)
以下が提示される.

f:id:tomokop:20190922084511p:plain

MacのVersionを変更すると,Xcodeを入れ直す必要があり?

出張先でも,Codeの確認はしたいものだ.
なので,MacBook Pro (Retina, 15-inch, Late 2013)を愛用しています.
ぶっちゃけ,このバージョンが一番好きなデバイス
GraphicsがNVIDIA積まれているので・

能書きはここまでにしておき,久々に更新

MacbookProで El captain での環境上で,Keras, Qt, などのPython環境を整えてまして,しばらくはこの環境でいろいろ操作をしてました.
なにも考えず,ぼーっと,High Sierra をインストールしたところ,急にCommand Line Toolにトラブル...
そう,,,Macは,Versionが変わると,Xcodeをもう一度設定し直す必要ある.
そのため,一度設定した内容が....orz

なので,入れ直す.

まずは,自分の環境をUpdateしておく,
私は,今現在,論文があるので,Mojabeへの変更をためらい,High Sierra (OS 10.13)

その後,xcodeをまずは実行

xcode-select --install

後,xcode-select --updateをしておけば,おっけ
そして,brew のupdate も忘れなく,
Homebrewのアップデート+Homebrewでインストールしたパッケージのアップデートまとめて行う.
これが,upgrade のコマンドらしい!
※こちらを参照!
qiita.com

$brew update

その後,必要な,Keras, Pythonなどの環境を変更しておく
Python はanaconda をアップデートしておけば良い

$ conda update anaconda
$ conda update --all

これでまた,Python Lifeになります.

Bluetoothでハマったとこのメモ(LogitechのLBT-UAN04C2BK)

結構ハマったので,メモ

Bluetoothってこんなにハマるもんなのか,と結構ショック受けました.
んで,解決すれば結構さくさくなので,ホッとしてます.

参考したのは価格ドットコムでの口コミよりDBA-E11さんからの貴重なレビュー
価格.com - ロジテック LBT-UAN04C2BK [黒] レビュー評価・評判

この記事のおかげで無駄な出費を控えることが出来ました.
ありがとうございます.


さて,どのような問題があって認識せず,どのように対応したかについて記載します.

[発生事案]
BlutoothアダプタをPCに取り付け,Bluetoothの製品を認識したいけど,,,されない...
認識したい製品:ELECOM TK-FBP052のキーボード

→ペアリングはできるけど,機器を扱うことができない...(なにゆえ...

原因:付属のドライバがきちんとあたらない...(ぉぃ



[対応]
価格ドットコムでの口コミよりDBA-E11さんからの貴重なレビューをそのまま参考
ドライバとして,以下のURLからダウンロードqa.elecom.co.jp

こちらのドライバをサイトの案内に従って,付属ドライバをインストールすると,認識orz
インストールの際には,まず以前インストールした「Bluetooth Stack for Windows by Toshiba」は外しておきます.
そして,アダプタも接続を解除しておくことです!
インストール中に「機器を取り付けてください」と出てくるので,その際にアダプタを取り付けます.

あとは,ペアリングしたい機器を自動で探してくれるので,機器をONにしておく.

これ...本当にすごく悩んだのです!!
しかも,結構口コミで「coreシリーズのアーキテクチャでは動作してない」とかあったので,本当にショックでした.
でも,よくよく考えても今どき,そういうアーキテクチャってないですよね!?
だから,絶対接続出来る方法を色々探しまわっていたら,口コミに出会いました.
接続できた瞬間,ガッツポーズでした!



キーボードはまだ小さいのでなれませんが,,,,慣れるよう,頑張ります!
ただ,打ちやすいキーボードですので,長いお付き合いなりそうです.

Mac Yosemite のアップデートに伴う被害・・・Homebrew編

Yosemiteにアップデートしてみました.
Homebrewが以下のメッセージで使えなくなりました.

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 21: /usr/local/Library/brew.rb: Undefined error: 0


.....おいおい....状態なりました・・・
泣きながら探ると,同じ悩みの方発見

makers.hatenablog.com


この記事にしたがって,修正

  • brew本体を修正
    • vi /usr/local/Library/brew.rb
  • 1行目を2行目に変更

-- #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0
-- #!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

うごきました....
本当にひどい話!

MacでのScilabの導入

やっぱりOpenにCodeや技術を公開したいというのがつよく,MATLABちっくを作成しよう!,と思ったので,しばらくは,互換性があるというScilabを導入
(あとは,お仕事関係で,さすがに有償モノで開発を講座するわけにいかなかったので
((あとは,某ゴニョゴニョから個人的にひどい嫌がらせを受けたので,あ,そう,んじゃ,いっか♪とあっさりそいつをき..(ry

Macでのインストールにおけるメモメモを残しておきます.


Scilabのインストール
公式サイトからダウンロードします.

公式サイトはこちら.www.scilab.org


Downloadから自分の適した環境を選択します.
私は,Mac OS Yosemite x64で動作させたいので,
最新版の5.5.2(2015/05/23時点)のMac x64を選択

www.scilab.org


こちらを選択
Scilab 5.5.2 - Mac OS X 10.10 149.24 MB


上記のWebページからも確認できるように,まず,Java for OS X 2014-001を入れておかないと動作しません.
なので,必ず導入してください.
また,このJava for OS X 2014-001は,先にJava for OS X 2012-006がインストールされてる環境が必要です.
多分指示がでますので,その指示に従うようにしてくれたら.問題ないと思います.


1. 上記の手順に従って,まず,ダウンロードされたJava for Mac OSX 2014-001を展開
JavaForOSX2014-001.dmgをダブルクリックでインストール完了

2. 続いて,Scilab 5.5.2をFinderをもちいてAppricationに入れて,ダブルクリックで展開開始

これで終了です.

ただし,YosemiteScilab 5.5.2のみのインストールで,5.4.1はできません.
きっと,Javaのバージョンが関連してるんでしょうね...

Homebrew によるImageMagickのインストール

いちいち,プレビュー起動で見るのがめんどくさくなったので.
それよりは,displayコマンドで見たほうが楽ちんなことが多いのです.
ということで,設定します.


少しハマったので,むむむ??となりました.
そのメモメモを兼ねて入れます.

Homebrew のインストールだとかセットアップだとかについてはこちらを
Mac にHomebrew をインストールする - 日々鍛錬

また,Homebrewの詳しい説明については,以下のサイトが参考になります

HomeBrewの仕組みについてまとめておく - それマグで!


1. Homebrew のUpgradeとUpdate
まずは,HomebrewのDB内情報を最新版に更新します.
次のコマンドをタイプします.

$ brew update
$ brew upgrade

ここで,

brew update
Homebrew の本体とfomulaの本体をそのまま 全体としてUpdate

brew upgrade
利用可能なUpdate version のformulaが存在するかを確認し,
その内容をupdate する

ところが,こちらのupdateをかけると,'Permision not defined'が出てしまいました...

brew upgrade
Error: Cannot write to /usr/local/Cellar

この場合は,以下のコマンドを実行します.

sudo chown -R "whoami" /usr/local/Celler


他にもこんなエラー群が

error: The following untracked working tree files would be overwritten by merge:
Library/Formula/freeswitch.rb
Library/Formula/nailgun.rb
Library/Formula/storm.rb
Please move or remove them before you can merge.
Aborting
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master


この場合は,gitの情報を書き換えました.
以下のコマンドを実行します.

$ cd /usr/local
$ git fetch origin
$ git reset --hard origin/master

これで,HomebrewのCellerに最新版をかけることができるわけですので,
この処理の後に,再度brew updateで最新版にしておきます.

その後,Imagemagickのインストール

$ brew install imagemagick --with-x11

エラーが以下の様に吐出された.

Warning: imagemagick dependency libtiff was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
/usr/local/Cellar/imagemagick/6.8.9-8: 1433 files, 22M, built in 93 seconds

昔のVersionと強豪しているので,最初にunlinkして,それからSoftwareをインストールします.
Softwareというのは,そうやって成立しているものだと改めて実感した.

$ brew unlink imagemagick

次は,ようやくおまたせなインストールのオプションを切り替えて,以下のコマンドで実行

$ export DISPLAY=:0.0
$ brew install imagemagick --disable-openmp --build-from-source --with-x11

画像系のSetupということを想定すると,おそらく,Exportの問題も絡みます.
以下を.profileに1行記述して,必ずsource読み込みをします.

export DISPLAY=:0.0

$ source .profile


以下のメッセージよりエラー無しで私はOKと判断しました!

brew install imagemagick --disable-openmp --build-from-source --with-x11
==> Downloading http://www.imagemagick.org/download/releases/ImageMagick-6.8.9-8
Already downloaded: /Library/Caches/Homebrew/imagemagick-6.8.9-8.tar.xz
==> ./configure --disable-osx-universal-binary --prefix=/usr/local/Cellar/imagem
==> make install
🍺 /usr/local/Cellar/imagemagick/6.8.9-8: 1437 files, 23M, built in 86 seconds

適当な画像をChoiceして実際にdisplay command で実行してみてください.

$ display hoge.jpg
$ display hoge.pgm

これで,実行できればImageMagickの設定は完了です.

要は,リポジトリはちゃんとupdateを掛けておきましょう!