FC2ブログ

Anaconda 学習:conda と pip を混ぜると?

2018-10-10 :  PCクリニック
前回(2018-09-26)の記事:
Anaconda 学習:SciLab はどうか?
を書いている時に、

“onoz000's blog”の、
condaとpip:混ぜるな危険」を見つけた。

  Anaconda環境下でpipを使う場合のリスクについて、
  日本語で書かれたページがほとんど見つからなかったので覚え書き。

  ひとことで
  Anaconda下でpipを使うと予期せず環境が破壊され、
  最悪の場合Anaconda自体の再インストールが必要になる。
  pipは慎重に使いましょう。


  condaとpip
  pipはPython環境で様々なパッケージを管理するための標準ツール。
  例えば、pip install numpyというコマンド一発で(依存関係も含め)
  PyPI(配布サイト)からnumpyをダウンロード・インストールすることができる。

  一方、特にデータサイエンスのためにPythonを使う人に人気なのが、
  Anaconda, Inc.社の提供するAnacondaというPythonのディストリビューション。

  Anacondaにはcondaという独自のパッケージマネージャーが付属しており、
  仮想環境の管理やpipの代わりの役割などを果たしている。
  例えば、conda install numpyからnumpyをインストールできる。

  なぜAnaconda?

  ・・・・・
  ・・・・・

  condaの仕組み

  ・・・・・
  ・・・・・

  pipとcondaの衝突

  ・・・・・
  ・・・・・

  どうすれば良いか

  今までの説明からconda install X でパッケージが見つからなかった場合
  に安易にpipから入れるのは危険だということがわかる。
  リスクを減らすためには例えば次の様な手順を踏む。

  1.anaconda search X でXを提供しているチャネルがないか探す。
   あればconda install -c channel X等の方法でインストールする
   (この場合もチャネルの優先順位など、様々な注意が必要。
    詳しくは公式ドキュメント参照)。

  2.pipから入れたい場合、まずPyPIのサイトから該当するパッケージを探し、
   依存関係を調べておく。依存するパッケージのうち、
   condaからインストール可能なものは予めインストールしておく。

  3.依存関係を満たしたらpip install --no-deps XでXをインストールし、
   動作確認する。

  あるいは別の選択肢として、

   ・ pipからしか入れられないパッケージを入れたい場合、
     新しいcondaの環境を作る(conda create -n env python)。
     その環境内ではconda installは一切用いない。

   ・ Anacondaを使うのをやめる。Python公式サイトのPythonを使い、
     パッケージはpipで導入する。
     仮想環境についてはvenvやvirtualenvを用いる。

  自分のconda環境は大丈夫?

  既に構築済みの自分のconda環境でpipとcondaの衝突があるか
  確かめたい場合は、conda listを実行する。
  同じパッケージがpip経由とconda経由で入っている場合重複して表示される。
  何かがおかしくなっている可能性が高い。

  参考

  ・ wheelのありがたさとAnacondaへの要望 - YAMAGUCHI::weblog
  ・ Conda documentation, 特にManaging packagesのページ


殆ど引用(流用?) と云うか、丸写し(?)だが、
本日はここまで。


そう云えば、
今年2月(2018-02-02)の記事:
Anaconda 学習:cufflinks って何?」で、
  ・・・・・
  ・・・・・
  conda じゃ無くて、pip で導入するときについて
  若干学習した?
  ・・・・・
  ・・・・・
と書いている。



そして、
今年5月(2018-05-18)の記事:
Anaconda 学習:PyAutoGUI 導入
で書いた、

  ・・・・・
  ・・・・・
  先日(2018-05-02)の記事「Tiny C compiler:64-bit 版」の時、
  tinycc を、pip でインストールしていた。
  この時、リストを出力していなかった。
  ・・・・・
  ・・・・・

このころから、
conda listの結果に不審な点が見られる???




Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180909
スポンサーサイト

Anaconda 学習:SciLab はどうか?

2018-09-26 :  PCクリニック
SciLab」については、
ブログ内search:SciLab
  2013/07/06 : PDL:Perl Data Language
  2013/06/26 : Algorithm::CurveFit : これで決まりかナ?
  2013/04/27 : Scicos: ブロック線図作成・シミュレータ
  2012/12/28 : 平成23年、24年、そして25年
  2012/12/03 : 2012年前半の記事
  2012/09/12 : R 学習:vs MATLAB
  2012/08/19 : 「R」で決まり(?)
  2012/06/11 : ImageMagick:画像形式変換ツール
  2012/05/22 : Scilab 関連サイトを2つ
  2012/05/09 : Scilab に SIVP 導入
  2012/04/28 : Scilab 導入しました
  2012/04/25 : PBM/PGM/PPM:画像データ表現形式
  2012/04/24 : Scilab つかってみようかナ
の如く、
5年前~6年前に記事にしている。


今年初め(2018-01-03)の記事:
GSL Shell から、Python に
で書いた:

  訳あって、GSL Shell から足を洗う?ことになった。

  代替は、GSL Shell にのめり込む前の、Python でしょうか?

  ・・・・・
  ・・・・・

  Anaconda
  では、
    “Anaconda 5.0.1” ( Python 2.7 version )
  として、2種類あり:
    64-Bit Graphical Installer (500 MB)
    32-Bit Graphical Installer (403 MB)
  しかも、バージョンは、2.7.14 と最新のものである。

  殆どのパッケージが含まれており、

  ・・・・・
  ・・・・・

  これに決め でしょうか?

  早速、
  「Anaconda2-5.0.1-Windows-x86.exe」 2017-10-15 付 403MB
  をダウンロードして、

  ・・・・・
  ・・・・・

の如く、
主たるプログラミング言語は“Anaconda ( Python )”に成っている。



ここで、「Python Scilab」で検索してみた。


“Interoperability - Scilab - Home - Scilab”の、
Python / Call Scilab from other languages
がみつかる。

  Python

  Sciscipy, originally developed by Vincent Guffens,
  extends Python by providing all the features of Scilab.

  Thus, since the Python interpreter, it is possible to access seamlessly
  any Scilab function.

  For example, the following Python code shows the call to Scilab function
  for generating random numbers rand () use to create a matrix of size 20x20
  and then performs some simple calculations on this data:

  from scilab import Scilab
  sci = Scilab()
  x = sci.rand(20, 20)
  y = x*x.transpose()
  y_inv = sci.inv(y)

  Sciscipy transparently manage data conversions
  (both Python and Numpy types).

===

  Python

  元々Vincent Guffensによって開発されたSciscipyは、
  Scilabのすべての機能を提供することでPythonを拡張しています。

  したがって、Pythonインタプリタのため、Scilabの機能にシームレスに
  アクセスすることが可能です。

  例えば、次のPythonコードは乱数を生成するためのScilab関数の
  呼び出しを示しています。rand()はサイズ20x20の行列を作成し、
  このデータに対して簡単な計算を行います:

  from scilab import Scilab
  sci = Scilab()
  x = sci.rand(20,20)
  y = x * x.transpose()
  y_inv = sci.inv(y)

  Sciscipyは、データ変換(PythonとNumpyの両方のタイプ)
  を透過的に管理します。



取り敢えず、“Anaconda Cloud”で、“SciLab”を検索したら、

Win-64 用として、
petrush / packages / scilab2py 0.6
  Python to Scilab bridge
が見つかる。

でも、“Sciscipy”は見つからない???



“Sciscipy”を Web 検索では?

PyPI の、
scilab2py 0.6.1」が見つかる。

  Scilab2Py is a means to seamlessly call Scilab functions
  and scripts from Python.

  It manages the Scilab session for you, sharing data behind
  the scenes using MAT files.

  Usage is as simple as:
>>> sci = scilab2py.Scilab2Py()
>>> x = sci.zeros(3,3)
>>> print x, x.dtype
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]] float64
...
  ・・・・・
  ・・・・・

===

  Scilab2Pyは、Scilabの関数とスクリプトをPythonから
  シームレスに呼び出す手段です。

  Scilabセッションを管理し、MATファイルを使用して
  舞台裏でデータを共有します。

  使い方は次のように簡単です:
>>> sci = scilab2py.Scilab2Py()
>>> x = sci.zeros(3,3)
>>> print x, x.dtype
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]] float64
...
  ・・・・・
  ・・・・・


それで、
インストールの手順は、

  You must have Scilab 5.4 or newer installed and in your PATH.
  You must have the Numpy and Scipy libraries installed.

  To install Scilab2Py, simply:

  ・・・・・
  ・・・・・

===

  Scilab 5.4以上をPATHにインストールしておく必要があります。
  NumpyとScipyのライブラリをインストールしておく必要があります。

  Scilab2Pyをインストールするには、次のようにします。

  ・・・・・
  ・・・・・


と云うことでした。


本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180121

aria2:The next generation download utility

2018-09-19 :  PCクリニック
昨年6月(2017-06-07)の記事:
GNU Wget - Wget for Windows
で、

  「Wget for Windows - GnuWin32」

について書いている。


今年初め(2018-01-03)の記事:
GSL Shell から、Python に
で書いた:

  訳あって、GSL Shell から足を洗う?ことになった。

  代替は、GSL Shell にのめり込む前の、Python でしょうか?
  条件として、100本以上ある現状プログラムが使えること。
  そして、最新版であること。
  そうすると、Python 2.7.14 となる?

  ・・・・・
  ・・・・・

  Anaconda
  では、
    “Anaconda 5.0.1” ( Python 2.7 version )
  として、2種類あり:
    64-Bit Graphical Installer (500 MB)
    32-Bit Graphical Installer (403 MB)
  しかも、バージョンは、2.7.14 と最新のものである。

  殆どのパッケージが含まれており、
  追加したいのは、“menpo / packages / opencv3 3.2.0
  のみくらい???

  これに決め でしょうか?

  早速、
  「Anaconda2-5.0.1-Windows-x86.exe」 2017-10-15 付 403MB
  をダウンロードして、

  ・・・・・
  ・・・・・


の如く、
主たるプログラミング言語は“Anaconda ( Python )”に成っている。



ここで、「Python wget」で検索してみた。

もう一歩制限して、「Python wget ダウンロード」検索とした。


“Qiita”の、
Pythonでバイナリファイルを保存する
が見つかる。

  ・・・・・、その時にUNIX環境であれば、

  ・・・・・

  みたいに wget で簡単にできたんですが、windows環境だとwgetは使えません。
  なので、

  ・・・・・

  上記のように、requests モジュールの Response オブジェクトにある
  raw (urllib3を使ったHTTPResponseオブジェクト)を、
  shutil モジュールの copyfileobj 関数を使って ターゲットの
  ファイルオブジェクトにコピーすることで保存する 、・・・

  ・・・・・


ここで、

「conda wget」と検索してみたが、Linux のみ?


conda の「pywget」では???

“anaconda / pywget 2.2”か、
mjirik / packages / pywget 3.2”か?



最初の検索結果の続きから、
これも“Qiita”の、
PythonでWebからバイナリデータをダウンロードする時の速度の話

  はじめに
  Pythonでバイナリデータをダウンロードする際の速度について検証してみる。
  Webクローラーを作成する場合はこの辺の速度は気になるところである。
  普通にやるとこんな感じになると思う。

  ・・・・・
  ・・・・・

  もちろんこれでもいいのだが、高速になるならそれに越したことはない。

  検証方法
  ・requests+open
  ・wget
  ・curl
  ・aria2c
  これらのダウンローダーをPythonから使用してベンチマークテストを行った。
  requests+open以外はsubprocessから使用する。

  ・・・・・
  ・・・・・
  ・・・・・

  
  aria2cが圧倒的に速いという結果になった。
  この記事でも紹介されているように
  aria2cはwgetやcurlより高速なダウンロードツールである。
  とくに懸念がなければダウンロードにはaria2cを使えばいいのではないかと思う。
  そしてサイズの大きいデータをダウンロードする際はrequests+open
  は避けたほうがよさそうである。

  ・・・・・
  ・・・・・



この内、最初の3つ、

  ・requests+open

  ・wget

  ・curl

は知っていた。


4番目の、

  ・aria2c

は???


「pip aria2c」で検索(!)

aria2

  aria2
  The next generation download utility.

  aria2 is a lightweight multi-protocol & multi-source command-line
  download utility.
  It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
  aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.
===
  aria2は、軽量のマルチプロトコル&マルチソースコマンドライン
  ダウンロードユーティリティです。
  HTTP / HTTPS、FTP、SFTP、BitTorrent、Metalinkをサポートしています。
  aria2は組み込みのJSON-RPCとXML-RPCインタフェースを使って操作できます。


そして、

  Download
  Download version 1.34.0. There you can download source distribution
  and binaries for OS X, Windows and Android.

  The legacy releases earlier than 1.19.1 are available here.
===
  
  ダウンロード
  バージョン1.34.0をダウンロードしてください。そこでは、OS X、Windows、
  Android用のソース配布とバイナリをダウンロードできます。

  1.19.1より前のレガシーリリースがここで利用可能です。



また、

  Usage Examples

  Command-line scares you off? No, aria2 is really easy to use!!

  Download from WEB:
$ aria2c http://example.org/mylinux.iso
  ・・・・・
  ・・・・・


今後は、aria2c かナ?



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180115

Mery:フリーの国産テキストエディター

2018-09-05 :  PCクリニック
昨年(H29-02-03)の事ですが、・・・・・


H28-12-28 付「Yahoo! ニュース」から、

窓の杜 > オフィス・ドキュメント > テキストエディター > Windows
「Windows 10にまず入れる超定番無料アプリ」
今もなお進化を続けるフリーの国産テキストエディター「Mery」
を見つけた。

  プログラミングにも原稿執筆にも! 最新ベータ版では・・・
                     (2015/8/12 05:05)

   「Windows 10」のポテンシャルを引き出すためにまず入れておきたい
  定番ソフトを紹介する本集中連載。
  第3回となる今回は、多くの形式に対応した日本語に適した
  多機能テキストエディター「Mery」を紹介する。

  日本語に適した多機能テキストエディター「Mery」

   最近はWeb開発に適した「Sublime Text」「Atom」「Brackets」といった
  “モダン”なテキストエディターが人気だが、ソースコードの
  記述だけでなく、日本語での原稿書きにも適した万能なものがほしいならば、
  国産のテキストエディターに限る。しかし、国産のテキストエディター、
  とくに無償のテキストエディターは“枯れて”おり、事実上開発が停止
  してしまっているものも少なくない。

  ・・・・・
  ・・・・・



それで、

  関連リンク

  Mery - 窓の杜ライブラリ
  http://www.forest.impress.co.jp/library/software/mery/


を見に行った。


  プラグインやマクロも利用できる、Unicode対応の高機能かつ多機能な
  テキストエディター。拡張子別の色分け、単語補完、正規表現対応の
  検索・置換・GREP、さらにキーカスタマイズやカラー印刷など、
  テキストファイルを快適に編集するための便利な機能が数多く搭載されて
  おり、原稿執筆やソースコードの編集など幅広いテキスト編集に対応する。
  ・・・・・
  ・・・・・

  作者名   Kuro 氏
  公式サイト Haijin Boys Online
        http://www.haijin-boys.com/



と云うことで、

Mery

  Mery (テキストエディタ)
  Mery はフリーのテキストエディタです。
  Mery では日記、恋文、新聞記事、ソースコードなどのあらゆる
  テキスト文書を簡単に編集することができます。
  また、HTML、Java、PHP、SQL などの様々なプログラミング言語の
  色分け表示も可能です。
  ・・・・・
  ・・・・・


そして、

  レジストリを使用しない

  インストール不要、
  ZIP ファイルを解凍するだけですぐにご利用可能です。
  設定情報の保存にレジストリを使用しませんので
  アンインストールも簡単、ポータブル環境でも安心です。
  (ZIP 版のみ)



なので、

当時

  「Mery_2.5.6.zip」 2016-12-23 付  2.43MB

をダウンロードして、
展開した。( 所定の、D:¥TOOL¥ に )



だが、未だにまともに使っていない???



現時点(H30-09-05)では、Ver 2.6.7
そして、ベータ版 Ver 2.6.11

ですネ。




本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170203

Haxe:オープンソースの高級プログラミング言語

2018-08-29 :  PCクリニック
前回(2018-08-22)の記事:
Cling:CINT後継」に関連して、・・・・・


“Qiita”の
Haxe3.2でPython出力を試す
を見つけた:

  Haxe 3.2からPython出力が可能になったので、試してみます。

  ・・・・・
  ・・・・・



それで、Hexaって何?

“Weblio辞書”では、
haXeとは
  haXe(ヘックス、発音記号は /heks/)はコンピュータ・プログラム用言語の
  1つであり、対応するウェブサイト上でなら汎用言語として使用でき、
  オープンソースで汎用性の高いクロスプラットフォームの
  高級プログラミング言語である。
  言語は ActionScript 3 から派生していて類似している。
  API も NME により Adobe Flash と同等のものが提供されている。

  以下のアプリケーションを生成できる

   ・ Adobe Flash アプリケーションとゲーム
   ・ デスクトップアプリケーション (Microsoft Windows, Linux, Mac OS X)
   ・ モバイルアプリケーション (Android, iOS, HP webOS, BlackBerry)
   ・ HTML5 アプリケーション
   ・ サーバーサイド ウェブアプリケーション

  単一の無修正の1つのコードベースから全てのプラットフォーム向けの
  プログラムを haXe 開発環境内で生成できる。

    目次
  1 出力ターゲット
  2 言語
  3 コンパイラの実装とパフォーマンス
  4 統合開発環境
  5 参照
  6 外部リンク

  ・・・・・
  ・・・・・


もう1つ
“ウィキペディア”では、
Haxe
  Haxe(ヘックス、発音記号は /heks/)はオープンソースの
  高級プログラミング言語、もしくはそのコンパイラである。

  言語としてのHaxeは静的型付きのオブジェクト指向言語であり、
  構文はActionScript3および標準化が中止されたECMAScript 4に似ている。
  Adobe Flashおよび独自のNekoVMで実行可能なバイトコードに
  コンパイルされるほか、JavaScript、ActionScript、C++、C#、Java、PHP、
  Python、Luaへのソースコードの変換が可能であるため、
  主にマルチプラットフォーム開発を目的として使用される。
  また、FlashからHTML5への移行にも使用される。

  2012年4月に表記がhaXeからHaxeに変更された。

  ・・・・・
  ・・・・・



元の記事に戻って、・・・・・

  インストール

   Haxe 3.2のインストール
   Haxe公式のDownloadsから最新版をダウンロードしてインストールします。
   Macでhomebrewを使っているなら下記でもOKです。
     $ brew install haxe --HEAD
   もしくは、Building Haxeを参考に自分でビルドします。

   Python3.xのインストール
   他にたくさん記事があるので省略。
   なお、いまのところHaxeが出力可能なのはPython3だけのようです。

  Haxe/Pythonチュートリアル

   Hello World
   公式のHello WorldでPython出力をしてみます。
   まずはHelloWorld.hxを下記の内容で作成。
HelloWorld.hx
class HelloWorld {
static public function main() {
trace("Hello World");
}
}

  上記をhaxeでhelloworld.pyにコンパイル。

  ・・・・・
  ・・・・・

  無事、Hello Worldが出力されました。

  なお、このとき出力されているhelloworld.pyは下記のようになっていました。

  ・・・・・
  ・・・・・



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180323

Cling:CINT後継

2018-08-22 :  PCクリニック
CINTについては、
10件ほど記事にしている。

中でも、
6年前(2012-11-28)の記事「CINT:C言語インタプリタ

  ・・・・・
  ・・・・・
  ふと気になった。
  「C言語」のインタプリタってあるのかな?

  探してみた。
  (当然ながら、Firefox で、Google 検索)

  「Cint C/C++インタプリタをUbuntuに入れてみた。」
  が見つかった。
  ブログ「Silfa and PC」の 2010/11/28 の記事。
  ・・・・・
  ・・・・・



久し振りに、
「Cインタプリタ」検索を行った。

“Qiita”の
C++11インタプリタ Clingのビルド
が見つかった。

  Cling
  CERNのROOTではCINTというC++インタプリタが使用されています。
  その存在を知ったときは興奮しましたが、CINTの情報が基本的に古く、
  そして極端に少なかったため、その存在をすっかり忘れていました。

  そのCINTの後継のものとしてLLVMを用いて作成されたClingが
  2011年に公開されていたようです。

  ・・・・・
  ・・・・・



Cling」検索では、・・・

GitHub - root-project/cling: The cling C++ interpreter
が見つかる:

  Cling - The Interactive C++ Interpreter
  The main repository is at https://github.com/root-project/cling

  Overview
  Cling is an interactive C++ interpreter,
  built on top of Clang and LLVM compiler infrastructure.
  Cling realizes the read-eval-print loop (REPL) concept,
  in order to leverage rapid application development.
  Implemented as a small extension to LLVM and Clang,
  the interpreter reuses their strengths such as the praised concise
  and expressive compiler diagnostics.
===
  概要
  Clingは、インタラクティブなC ++インタープリタであり、
  ClangとLLVMのコンパイラインフラストラクチャの上に構築されています。
  Clingは、迅速なアプリケーション開発を活用するために、
  REPL(read-eval-print loop)の概念を実現します。
  LLVMとClangの小さな拡張として実装されたインタープリタは、
  コンパイラの診断の簡潔で表現力豊かな診断などの強みを再利用します。

  See also cling's web page.

  Please note that some of the resources are rather old
  and most of the stated limitations are outdated.

  ・・・・・
  ・・・・・



なので、
cling's web pageを見に行った。

  Cling interprets C++
  Cling is built on the top of LLVM and Clang libraries.
  In addition to standard interpreters it has a command line prompt
  and uses just-in-time (JIT) compiler.
  This kind of software application is commonly known as
  an interactive compiler.
  Cling started off as a contemporary, high-performance alternative of
  the current C++ interpreter in the ROOT project - CINT.
===
  ClingはLLVMとClangライブラリの最上位に構築されています。
  標準インタプリタのほかに、コマンドラインプロンプトがあり、
  ジャストインタイム(JIT)コンパイラが使用されます。
  この種のソフトウェアアプリケーションは、一般に
  インタラクティブコンパイラと呼ばれます。
  ClingはROOTプロジェクト(CINT)の現行のC ++インタプリタの
  現代的で高性能な代替手段として始まった。

  ・・・・・
  ・・・・・



ところで、
このClingは、Windows で使えるのか?

Clingビルド 失敗の記録 - 檜山正幸のキマイラ飼育記 メモ編

  Clingビルド 失敗の記録

  LLVM/CLang上のC++インタプリタ Cling

  ・ https://root.cern.ch/cling

  Windows上のビルドはダメだった。いまいましいコマンドラインは:

  ・・・・・
  ・・・・・


どうもダメな様(存在しない様)だ?



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180323

XMedia Recode:動画変換ツール

2018-08-15 :  PCクリニック
先日(2018-08-08)導入した、
UniteMovie:動画の連結」では、
“FLV”対応で塩梅が悪い。

つまり、

UniteMovieでflvが結合できません。

等々にある様に、

  ・・・・・
  ・・・・・

  まず、UniteMovieはビットレート、フレームレート、画面サイズなどが
  同じでないと結合ができません。

  そしてメニュー欄(右端のアイコンをクリックで出ます)で
  「異なる形式のFLVを強制結合する」にチェックを入れないとできません。

  これらの条件を満たしても結合ができない場合は、
  結合するflvがflv5という比較的新しい形式のもので、
  unitemovieが対応していないんだと思います。

  ・・・・・
  ・・・・・



そこで、

“フリーソフト100”の
無料動画変換ソフト一覧

から、

XMedia Recode

  様々な種類のオーディオ、ビデオフォーマットの変換に対応

  ・・・・・
  ・・・・・

に注目してみた。

つまり、

  動画変換を行ったり、動画から音楽ファイルを抽出したり、
  音楽ファイルのフォーマット変換をしたりできる音楽・動画変換ソフト。
  DVD/Blu-ray も変換できます。
  対応しているフォーマットは豊富にあり、
  変換するフォーマットも同程度用意されています。

  XMedia Recode の使い方

  ・ ダウンロード
  ・ 使い方
   1.動画を変換する
   2.対応フォーマット
     2-1. 入力フォーマット
     2-2. 出力フォーマット
   3.対応言語

  ・・・・・
  ・・・・・


なお、
ダウンロードの為に、
提供元サイト
をみると、
  Portable
もある!



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180707

UniteMovie:動画の連結

2018-08-08 :  PCクリニック
「動画 連結」検索で、・・・・・

“k本的に無料ソフト・フリーソフト”の
おすすめの動画編集 ソフト
を見つけた。


その中から、

UniteMovie
  各種メディアファイルを、一つに連結結合してくれるソフト。
  ・・・・・
  ・・・・・
  各種メディアファイルから、指定した場面をロスレスで
  抽出してくれるソフト「CutMovie」も付いています。


つまり、
複数のメディアファイルを、一つに結合!「UniteMovie」。

  各種メディアファイルを、一つに連結結合してくれるソフト。
  mpg(MPEG-1)/ asf / wmv / avi / flv / mp4 / m4v / rm / ram /
  rmvb / mov / qt / 3gp / 3g2 / amc 形式の動画ファイル、
  または mp3 / wma / wav / m4a / ra 形式の音声ファイル を、
  それぞれ再圧縮なしで一つに連結結合することができます。
  各種メディアファイルから、指定した場面をロスレスで抽出してくれる
  ソフト「CutMovie」も付いています。

  「UniteMovie」は、シンプルなメディアファイル連結ツールです。
  複数の

  ・・・・・
  ・・・・・

に着目した。


それで、
「UniteMovie」検索で、・・・・・

“フリーソフト100”の
UniteMovie の評価・使い方

  ファイルをドラッグ&ドロップし、
  複数の動画を結合することができる動画結合ツール

  複数のファイル形式の動画、音声ファイルに対応しています。
  また同梱されているソフトの「CutMovie」は動画を時間・分・秒単位の
  指定した時間に切り取って編集することができます。
  ただし、「CutMovie」はMPEGやWAVに対応していません。
  【注意点】
  UniteMovie はファイル選択後、保存先のファイル名が表示されますが、
  ファイル名と拡張子の間に「.(ドット)」がなく、「xxxxwmv」のような
  ファイル名になります。
  手動で「.(ドット)」を追加して「xxxx.wmv」のようなファイル名
  にする必要があります。

を熟読(???)


特段問題はなさそうなので、・・・・・

ダウンロードした:
  「unitemovie.zip」  1.15MB  2007/07/07付


展開するのみで利用できる。


で、ドキュメントは、・・・・・

UniteMovieの使い方

ですネ。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180521

Windows dirコマンド 学習:ファイル名一覧取得

2018-07-27 :  PCクリニック
これまでに(ダウンロードしたりして)入手してきた、
.cifファイルの一覧をリストアップしたい。

取り敢えず、カレントディレクトリ以下で十分か?


手段について、検索・・・・・


“@IT”のTech TIPS:
Windowsのdirコマンドでファイル名の一覧を取得する
で良いかなナ?

  解説
  ・・・・・
  ・・・・・
   このような場合は、
  コマンドプロンプトを起動してdirコマンドを実行し、
  その結果をファイルにリダイレクトすると、
  簡単にファイル名の一覧を取得できる。
   オプションを指定すれば、ファイル名だけとかフォルダー名だけを
  取り出すことも可能だ。
  ・・・・・
  ・・・・・

  操作方法

  ●dirコマンドでファイル/フォルダー名の一覧を表示・保存する

  「dir *.cif /b >out」:「/b」オプションでファイル名だけ取出


  ●ファイルあるいはフォルダーだけを列挙する

  「/a-d」:「/a」オプションで表示させたい属性を指定


  ●フォルダーツリーも含めて検索・列挙する

  「/s」:該当フォルダー以下のフォルダーツリー全体も含めて・・・



そうすると、
dir  *.cif  /b  /a-d  /s  >cif_file_list.txt
で行ける?



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180602

ExeProperties:View exe & dll properties

2018-07-25 :  PCクリニック
前回(2018-07-23)の記事:
ClamWin Free Antivirus」で書いた、

  ・・・・・
  ・・・・・
  “k本的に無料ソフト・フリーソフト”に載っていた:
  「ClamWin Free Antivirus
  ・・・・・
  ・・・・・


k本的に無料ソフト・フリーソフト
を見ていたら、

システム

エクスプローラ 拡張
に、
ExeProperties
が載っている:

  EXE / DLL ファイルが、32bit なのか 64bit なのか「プロパティ」画面で
 確認できるようにするソフト。
  EXE / DLL / OCX / CPL / DRV / SCR / SYS ファイルの「プロパティ」画面上
 で、ファイルのタイプ(32bit 版か 64bit 版か)/ 最小のシステム要件(最小限
 必要な Windows のバージョン)/ ビルドしたアプリケーション(Visual Studio
 のバージョン)/ サブシステム(GUI か Console か)/ ビルドされた
 日時 / Large Address Aware の対応状況 を確認できるようにしてくれます。

詳細ページ
では、

  EXE / DLL ファイルが、32bit なのか 64bit なのか「プロパティ」画面上で
  確認できるようにする!「ExeProperties」。


  EXE / DLL ファイルが、32bit なのか 64bit なのか「プロパティ」画面で
 確認できるようにするソフト。
  EXE / DLL / OCX / CPL / DRV / SCR / SYS ファイルの「プロパティ」画面上
 で、ファイルのタイプ(32bit 版か 64bit 版か)/ 最小のシステム要件(最小限
 必要な Windows のバージョン)/ ビルドしたアプリケーション(Visual Studio
 のバージョン)/ サブシステム(GUI か Console か)/ ビルドされた
 日時 / Large Address Aware の対応状況 を確認できるようにしてくれます。

  「ExeProperties」は、その名の通り実行ファイルのプロパティを
 確認できるようにするソフトです。
  EXE / DLL / OCX / CPL / DRV / SCR / SYS ファイルの「プロパティ」画面上
 に「Exe / Dll Info」というタブを追加し、ここでファイルの

 ・タイプ(32bit 版か 64bit 版か)
 ・最小のシステム要件(最小限必要な Windows のバージョン)
 ・ビルドしたアプリケーション(Visual Studio のバージョン)
 ・サブシステム(Windows GUI か Windows Console か)
 ・ビルドされた日時
 ・Large Address Aware の対応状況

 といった情報を確認できるようにしてくれます。

 ・・・・・
 ・・・・・


 使い方

 対象ファイルの右クリックメニューに
 「Exe / Dll Info」というタブが追加され

 ・Type - タイプ(32bit 版か 64bit 版か)
 ・Min. Windows Version - 最小のシステム要件(Windows のバージョン)
 ・Built With - ビルドしたアプリケーション(Visual Studio のバージョン)
 ・Subsystem - サブシステム(Windows GUI か Windows Console か)
 ・Timestamp - ビルドされた日時
 ・Large Address Aware - Large Address Aware の対応状況

 を確認できる
 (表示された情報はコピーできない)

 ・・・・・
 ・・・・・



本日はここまで。


Windows ツール の学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180603

ClamWin Free Antivirus

2018-07-23 :  PCクリニック
昨年8月(2017-08-16)の記事:
GSL 学習:“gsl_a.lua”モジュール?
で書いた:
  Index of /pub/GNU/gsl

から、
Gnu.org」サイトを見ていたら、
“Open source GPL virus scanner”の、
Free Antivirus for Windows」が載っていた。

つまり、ClamWin Free Antivirus

それで、

  ClamWin is a Free Antivirus program for Microsoft Windows 10 / 8 / 7 /
   Vista / XP / Me / 2000 / 98 and Windows Server 2012, 2008 and 2003.

  ClamWin Free Antivirus is used by more than 600,000 users
   worldwide on a daily basis.
  It comes with an easy installer and open source code.
  You may download and use it absolutely free of charge.
  It features:

  ・・・・・
  ・・・・・

===

  ClamWinは、Microsoft Windows 10/8/7/Vista/XP/Me/2000/98および
   Windows Server 2012,2008,2003用の無料アンチウイルスプログラムです。

  ClamWin Free Antivirusは、世界中の60万人以上のユーザーが
   毎日使用しています。
  簡単なインストーラとオープンソースコードが付属しています。
  あなたはそれを絶対に無料でダウンロードして使用することができます。
  それは特色になる:

  ・・・・・
  ・・・・・


今使っているのは、
AVGセキュリティソフトを2つ入れた・・・
だが、・・・・・代わりになるかナ?


若干調べてみた。

“k本的に無料ソフト・フリーソフト”に載っていた:
ClamWin Free Antivirus

  監視型のシンプルなアンチウイルス!「ClamWin Free Antivirus」。

  非常駐監視型のシンプルなアンチウイルス。
  指定した単一 or 複数 のフォルダ(またはドライブ)を、
  手動でウイルスチェックにかけることができます。
  メモリスキャン、自動アップデート、メールスキャン、スケジュールスキャン
  などの機能が付いています。

  「ClamWin Free Antivirus」は、非常駐監視型のアンチウイルスです。
  システムをリアルタイムに監視&保護してくれるタイプのセキュリティソフト
  ではなく、自分が必要とした時のみウイルスチェックを行うことができる...
  というオンデマンドなウイルス対策ソフトです。

  ・・・・・
  ・・・・・



本日はここまで。


アンチウィルスソフト の学習は続く?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180603

Anaconda 学習:スピログラフ

2018-07-18 :  PCクリニック
先月末(2018-06-29)の記事:
ライフゲーム:Conway's Game of Life
に続いて、
古い資料を整理していたら、
ActiveBasic」で自作した、
「old-graph.abp」プログラムのソースリストが出てきた:2007年4月印刷。

これは、5つの極小コードのまとまり。

それの中の1つに“スピログラフ”のコードがあった。


改めて、
「スピログラフ コード」で検索してみた。


こんな玩具」などのページ
が多くみつかるが、

プログラミング的には、

“シキノート”の
正多角形とスピログラフの数式
があった。

  1.・・・・・
  2.・・・・・
  ・・・・・
  ・・・・・
  5.トロコイド(2次元)
  ・・・・・
  ・・・・・

正に、
この5番目のもの:

  トロコイドと呼ばれる曲線があります[2]。
  これをgnuplotで書いてみましょう。
  数式は[2]を参考にして以下の通りです。
  ・・・・・
  ・・・・・

でした。



他のサイトでは、

良いもの。悪いもの。: スピログラフ

これも学習資料だナ?

  スピログラフに初めて触れたのは小学校に上がる前だった。
  当時はそれがスピログラフという名称であることを知らず、
  輪っかをぐるぐる回して綺麗な模様を描ける道具として
  お気に入りの玩具になっていた。
  自分はマンデルブロ集合やジュリア集合のような数学的に表現できる
  図形や模様にともて魅力を感じるのだが、
  幼少のころのスピログラフがその切っ掛けだったのかもしれない。

  長方形の定規に大きさの異なる3枚の歯車が付属しており、
  そして2つの円がくり抜かれている。
  さらに、矢印、五角形、半円などの型が子供心をくすぐったものだ。
  因みに、歯車と円に付いている歯数は刻印されており、
  3つの歯車はそれぞれ36、52、63、円の方は96、105の歯を持っている。

  幼少のころ以来、スピログラフを見かけることはなかったのだが最近に
  なって100円ショップでも売られているという噂を聞き、少し探ってみた。
  近くの100円ショップでは扱っていなかったが、「デザイン定規」
  という名称でネットで78円で売っていたので思わず購入してしまった
  (当然だが送料のほうが高くついた…)。

  ・・・・・
  ・・・・・

  ここでは、Pythonのソースコードも挙げておこう。
  せっかくなので少しだけmatplotlibの調整をしてみた。
  必ず縦と横のスケールが同じになるようにし、グラフ表示も正方形にした。
  コードを見てもらえばやり方はすぐに解るだろう。
  以下のコマンドで実行できる。

  ・・・・・
  ・・・・・

これなら、
昔々の「ActiveBasic」から
最近のAnacondaに乗り換えられる。


序でに、
「スピログラフ Python」で検索したら、
“Qiita”の
スピログラフをPythonで書いてみる
が見つかったが、

  上記:"正多角形とスピログラフの数式"
  を参考にしました。

とある。



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180513

Anaconda 学習:PyGSL パッケージ

2018-07-13 :  PCクリニック
以前(2018-07-04)の記事:
Anaconda 学習:Gohlkeさんのサイトから
で、
8つのパッケージをピックアップした。

今回は、

  Other useful packages and app… not currently available ・・・

に載っていた、

 ・PyGSL ・・・ interface for the GNU Scientific Library (GSL).

について。


リンク:Pygsl
先を見に行った:

  pygsl

  This project provides a python interface for
  the GNU scientific library (gsl).

  Please look out for our site at sourceforge.
  Detailed information are available in the README file
   that comes with the source distribution.
  See what's going on in the News section.
  Support requests and all other questions should be directed to
  pygsl-discuss@lists.sourceforge.net.

===

  このプロジェクトは、GNU科学ライブラリ(gsl)用の
  Pythonインタフェースを提供します。

  私たちのサイトをsourceforgeで見てください。
  詳細情報は、ソース配布に付属のREADMEファイルにあります。
  ニュースセクションで何が起こっているのか見てみましょう。
  サポートリクエストとその他の質問はすべて
  ・・・URL・・・に送付してください。


と云うことで、
our site at sourceforge
に飛んだ。

「Files」タブでは、

 ・pygsl  2017-10-07

 ・pyool  2006-05-22

とあるので、

pygsl
へ。

  最新版:

  ・pygsl-2.3.0  2017-10-09

では、
実質:pygsl-2.3.0.win-amd64-py3.6.msi
のみ。


一方、Python 2 版があるのは、

  最も古い版:

  ・pygsl-0.9.3  2008-07-10


pygsl-0.9.3_numpy.win32-py2.5.exe
しか無い?


<紙>が欲しいのは、
Python 2.7 版で、Windows 版で、64bit 版
そして、GSL では、2.0 以降の新しいもの。


そうすると、

(1)PyGSL は諦めて、GSL を直に使う。
   でも、GSL は、1.9 版(?)と古い。

(2)Python 3.6 に乗り換える。
   これなら、64ビット版で、GSL も 2.3 版と新しい。

の二者択一???



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180504

Anaconda 学習:XML2Dict

2018-07-09 :  PCクリニック
前々回(2018-07-04)の記事:
Anaconda 学習:Gohlkeさんのサイトから
で、
8つのパッケージをピックアップした。

今回は、

その他もろもろ(?)Miscジャンルの

 ・XML2Dict-0.2.2-py2.py3-none-any.whl

について調べた。


Anaconda 5.0.1 : Windows 版 Python 2.7.14 ( 64bit 版 )
に、
含まれるパッケージ:「Packages for 64-bit Windows with Python 2.7
には、
載っていない。

さらに、
Anaconda Cloud
でも見つからない。



それで、
「XML2Dict」とWeb検索したら、
XML2Dict - PyPI
が見つかった。

  XML2Dict 0.2.2

  pip install XML2Dict


  Convert between XML String and Python Dict
===
  XML文字列とPython Dictの間の変換


  XML2Dict is inspired from Chen Zheng's [xml2dict](URL)

だが、
ここの URL は 404 だった。



それで、
上記「XML2Dict」検索で見つかった日本語サイト:

“fujishinko 雑記帳”の
Python xml2dictを使用して、xmlをdictionaryに変換する

  Python xml2dictを使用して、xmlをdictionaryに変換する

  常山日記さんの記事からてけらぼさんで記載されている
  エントリにたどり着きました。

  ・・・・・
  ・・・・・

  xml2dictというモジュールがあるとは・・・


  今までゴソゴソとPyanaや4Suite-XMLを調べていたのは、
  DB2に保存したXML列のデータを表示するとき、xml+xsltで
  構築すればカッコイイのでは?と思っていたからです。

  サンプルも書いてみたのですが、
  ・xsltの記述がつらい。(自分が理解できていないだけですが。)
  ・pylonsを使用するつもりなので、やっぱりmakoやwebhelperが使いたい
  の理由から、躊躇してました。

  xmlを解析してhtmlを構成するよい方法が浮かばず
  どうしたもんかと悩んでいたのですが、これを使えば
  楽にmakoやwebhelperと連携できそうです。

  さっそくインストール、と思ったのですが普通のpythonモジュールで
  提供されてました。

  ・・・・・
  ・・・・・


  として、ダウンロードし

  ・・・・・
  ・・・・・


  で解凍します。

  ・・・・・
  ・・・・・


  で移動し、中身をのぞいてみると

  object_dict.py
  xml2dict.py



  という2つのファイルがありますので、これを適当な場所に
  コピーします。

  コピーしたディレクトリと同じ階層に、こんなサンプルプログラムを
  書いて実行してみました。

  ・・・・・
  ・・・・・



これは使えそうダ。

頑張って学習しよう!



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180419

Anaconda 学習:BioPythonとPyMol

2018-07-06 :  PCクリニック
前回(2018-07-04)の記事:
Anaconda 学習:Gohlkeさんのサイトから
で、
8つのパッケージをピックアップした。

今回、

最初の Index by date: に載っている、
biopython」と「pymol」の2つについて調べた。


先ず1つ目。

Biopython, a set of tools for biological computation.
には、
  biopython-1.72-cp27-cp27m-win_amd64.whl
などがある。

Anaconda 5.0.1 : Windows 版 Python 2.7.14 ( 64bit 版 )
に、
含まれるパッケージ:「Packages for 64-bit Windows with Python 2.7
には、

 ・Version:1.71

 ・Summary / License:
 Collection of freely available tools for computational molecular biology
 / Biopython License Agreement

とあるが、
デフォルトでは、インストールされない。

Documentation
では、

 Introduction

  Biopython is a set of freely available tools for biological
 computation written in Python by an international team of developers.

  It is a distributed collaborative effort to develop Python libraries
 and applications which address the needs of current and future work
 in bioinformatics.
  The source code is made available under the Biopython License,
 which is extremely liberal and compatible with almost every license
 in the world.

  We are a member project of the Open Bioinformatics Foundation (OBF),
 who take care of our domain name and hosting for our mailing list etc.
  The OBF used to host our developement repository,
 issue tracker and website but these are now on GitHub.

  This wiki will help you download and install Biopython,
 and start using the libraries and tools.

===

 前書き

  Biopythonは、国際的な開発者チームによってPythonで書かれた、
 生物学的計算のために自由に利用できるツールのセットです。

  これは、バイオインフォマティクスにおける現在および将来の作業の
 ニーズに対応するPythonライブラリおよびアプリケーションを
 開発するための分散協調作業です。
  ソースコードはBiopythonライセンスの下で入手可能になっています。
 これは非常にリベラルなものであり、
 世界のほぼすべてのライセンスと互換性があります。

  私たちはOpen Bioinformatics Foundation(OBF)の
 メンバープロジェクトです。
  OBFは私たちの開発リポジトリ、Issue Tracker、Webサイトの
 ホスティングに使用されましたが、現在はGitHubにあります。

  このwikiは、Biopythonをダウンロードしてインストールし、
 ライブラリとツールの使用を開始するのに役立ちます。


それで、
 Get help
の、
 Cookbook (working examples)
を見てみると、・・・・・

どうも、タンパク質? 高分子? 有機分子? DNA?
無機・結晶 じゃなさそう???

当面、ペンディングです。



次に2つ目。

 ・PyMOL, a molecular visualization product for rendering
          and animating 3D molecular structures.
 PyMOL is a trademark of Schrodinger, LLC.
 Requires numpy+mkl and PMW. Excludes the web module.
 Conflicts with the chempy package.

===

 ・PyMOLは、3D分子構造のレンダリングとアニメーション化の
        ための分子視覚化製品です。
 PyMOLはSchrodinger、LLCの商標です。
 numpy + mklとPMWが必要です。 Webモジュールを除外します。
 うんざりしたパッケージと競合します。
 (うんざりじゃなくて、
  chempy:Python package useful for (physical) chemistry
  ですネ。)

それで、
  pymol-2.1.0-cp27-cp27m-win_amd64.whl
などがある。


Anacondaに含まれる「Packages for 64-bit Windows with Python 2.7
には、
載っていないが、
Anaconda Cloud
では見つかる:「pymol
例えば、
schrodinger / pymol 2.1.1
  ・・・・・
  ・・・・・
  Home: pymol.org
  ・・・・・
  ・・・・・

のリンク先は:
  PyMOL is a user-sponsored molecular visualization system
  on an open-source foundation,
  maintained and distributed by ・・・

  We are happy to introduce
  PyMOL 2.1!
  ・・・・・
  ・・・・・

で、
本ブログ内でも“PyMol”検索で、
 十数件の記事
が見つかる。



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180430

Anaconda 学習:Gohlkeさんのサイトから

2018-07-04 :  PCクリニック
前回(2018-07-02)の記事「Anaconda 学習:Atom パッケージ
まで、
Anaconda 5.0.1 : Windows 版 Python 2.7.14 ( 64bit 版 )
に、
含まれるパッケージ:「Packages for 64-bit Windows with Python 2.7
を調べていた。


ふと、
Gohlkeさんのサイト」を思い出した。

これまで、いろいろとお世話になっている。


そこで、気になるモジュールをピックアップした。


最初の Index by date: から、

 ・biopython

 ・pymol

の2つ。


そして、
その他もろもろ(?)Miscジャンルの

 ・XML2Dict-0.2.2-py2.py3-none-any.whl



さらに、
  Other useful packages and app… not currently available ・・・
から、


 ・BALLView a molecular modeling and visualization app…

 ・MathGL a library for scientific data visualization.

 ・Pyffmpeg a wrapper for FFmpeg, ・・・

 ・PyGSL ・・・ interface for the GNU Scientific Library (GSL).

 ・VIPS an image processing library with no image size limits.

の5つ。


以上の8パッケージが気になった。


一つずつ、チェックしてみよう。



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180417

Anaconda 学習:Atom パッケージ

2018-07-02 :  PCクリニック
先月(2018-06-08)の記事:
Anaconda 学習:psutil パッケージ」に続いて、
Anaconda 5.0.1 : Windows 版 Python 2.7.14 ( 64bit 版 )
に、
含まれるパッケージ:「Packages for 64-bit Windows with Python 2.7
から、
デフォルトで入っているものを見ていた。

その中で気になったものに、

atom 0.4.1 Memory efficient Python objects / BSD

があった。


リンク先を見ると、

   Atom is a framework for creating memory efficient Python objects
  with enhanced features such as dynamic initialization, validation,
  and change notification for object attributes.
   It provides the default model binding behaviour for
  the Enaml UI framework.

  Illustrative Example:

  ・・・・・
  ・・・・・

===

   Atomは、ダイナミックな初期化、検証、オブジェクト属性の変更通知
  などの機能が強化された、メモリ効率の高いPythonオブジェクトを作成
  するためのフレームワークです。
   Enaml UIフレームワークのデフォルトのモデルバインディング動作
  を提供します。

  例示的な例:

  ・・・・・
  ・・・・・


イマイチ理解できない(汗;

で、Enaml UI framework って何?

一覧には載っている:
enaml 0.10.2 Declarative DSL for building rich user interfaces in Python …

でも、デフォルトでは入っていない。

kivy」の様なもの?


「Python enaml 使い方」と検索したら、

“Qiita”の
Awesome Python:素晴らしい Python フレームワーク・・・・
が見つかった。

  これは, Awesome Python の日本語訳です.

とある。


この記事の中ほどにある

  GUI

には、

  ・enaml - QML のような宣言的構文を使って美しいユーザーインター・・・

  ・kivy - Windows, ・・・で動作する NUI アプリケーションを作成する・・・

  ・PyQt - Qt アプリと UI フレームワーク用の Python バインディング.

等々がある。


atom / enaml も学習テーマかナ?


本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180401

ライフゲーム:Conway's Game of Life

2018-06-29 :  PCクリニック
古い資料を整理していたら、
ActiveBasic」で自作した、
「LIFE.abp」プログラムのソースリストが出てきた:2007年4月印刷。


改めて、
ライフゲーム」で検索してみた。
真っ先に、
“Wikipedia”の
ライフゲーム」が見つかる。

  ライフゲーム (Conway's Game of Life) は1970年にイギリスの数学者
  ジョン・ホートン・コンウェイ (John Horton Conway) が考案した生命の
  誕生、進化、淘汰などのプロセスを簡易的なモデルで再現した
  シミュレーションゲームである。
  単純なルールでその模様の変化を楽しめるため、パズルの要素を持っている。

  生物集団においては、過疎でも過密でも個体の生存に適さないという
  個体群生態学的な側面を背景に持つ。
  セル・オートマトンのもっともよく知られた例でもある。

  ・・・・・
  ・・・・・


それで、
今時は、自作はムダ
探せば、良いアプリが見つかる?


最終段の“外部リンク”に、

  「Golly(オープンソースのライフゲームシミュレータ、例が豊富)

があったので、見に行ってみた。

  Golly is an open source, cross-platform application for exploring
  Conway's Game of Life and many other types of cellular automata.
   The primary authors are Andrew Trevorrow and Tom Rokicki,
  with code contributions by Tim Hutton, Dave Greene, Jason Summers,
  Maks Verver, Robert Munafo, Brenton Bostick and Chris Rowett.

===

  Gollyは、ConwayのGame of Lifeと他の多くのタイプのセルオートマトンを
  探索するオープンソースのクロスプラットフォームアプリケーションです。
   主な著者は、Tim Hutton、Dave Greene、Jason Summers、Maks Verver、
  Robert Munafo、Brenton Bostick、Chris Rowettによるコード提出で、
  Andrew TrevorrowとTom Rokickiです。


これは良さそうなので、
ダウンロードした:(1番上に載っている)
  golly-3.1-win-64bit.zip  2017-10-21 付  5.75MB

展開結果を丸ごと、 D:/TOOL/Golly/ に格納。
そして、
  D:/TOOL/Golly/Golly.exe
へのショートカットをデスクトップに置いた。


早速、
“Wikipedia”の「グライダー
を1つ作って、実行。

遊べますネ。


Gollyを教材にして、
“ライフゲーム”のみならず、
セル・オートマトン”までも(?)、
学習するかナ???



本日はここまで。


セル・オートマトンの学習は続く?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180512

Anaconda 学習:PyAutoGUI の getWindows 関数

2018-06-27 :  PCクリニック
先月(2018-05-21)の記事:
Anaconda 学習:PyAutoGUI 補足事項」で書いた、

  ・・・・・
  ・・・・・
  この内の getWindows 関数は、
  2年前(2016-06-25)の記事「ウィンドウ・ハンドルの取得
  に載せている、LuaJITのコードに相当する。
  ・・・・・
  ・・・・・

と云う記述に関連してのお話しです。


このgetWindows関数を使った例として、
# ----------  sample_use_getWindows.py
# -*- coding: utf-8 -*-
import pyautogui as pa

win = pa.getWindows() ##### getWindow( ~ ) では無い。
n=len(win)

print n, type(win) #####  つまり「辞書」

for w in win:
print w

# これで、
# リストアップできる。
と云うようなことが考えられる。

但し、
思ったモノより3つ多い?
 ・ 空
 ・ Program Manager
 ・ スタート


本来のgetWindowの使い方は、
以下の様?
wh = False
while not wh:
wh = pa.getWindow( 'メモ帳' )
# 立ち上げ完了




本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180411

OpenBabel 学習:xyz2mol 処理

2018-06-18 :  PCクリニック
4年前(2014-08-08)の記事:
プログラム設計:msi2mol
  ・・・・・正しくは、xyz2molでしたが
で設計し、

昨年(2017-10-27)の記事:
Python プログラム:xyz2mol.py
で、Python版を作り、

そして、
続(2017-10-30)く記事:
GSL Shell プログラム:xyz2mol.gsl
で、GSL Shell版を作った:

   座標データだけから成るファイルを元に、
   原子間の結合データを生成する

処理コード


これに関しては、・・・・・

結論として、
自作する必要は無かった。
OpenBabel
を使えば十分ダ。


DOS コマンドでは、

  obabel hoge.xyz -Ohoge.mol

これだけ!


Python からは、

「subprocess」の「call」を使って 上記コマンドを実行する。



1点留意事項がある。

mol形式だと、
標準では、V2000形式であって、99 原子まで。
100 原子以上の場合は、V3000形式に自動的に変わる。


これでは、不都合な場合もある。

強制的にV3000形式で出力させたい場合は、

  obabel hoge.xyz -Ohoge.mol -x3

とすれば良い。


あるいは、mol形式に拘らずに
Sybyl Mol2 format (ml2, sy2, mol2)
形式にした方が良さそうダ。



本日はここまで。


OpenBabel と、Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180424

Windows 版 OpenBabel v2.4.1 for 64-bit 導入

2018-06-13 :  PCクリニック

分子構造データファイルに関して学習していた。
思い出して、
Open Babel: The Open Source Chemistry Toolboxサイトを見た:
Open Babel: The Open Source Chemistry Toolbox

最新版は、v2.4.1 に成っている。


今使っているのは、
かれこれ3年前(2015-12-06)の記事「OpenBabel:Develop with Open Babel
の如く、「OpenBabelGUI version 2.3.1」

そこで、
Get Open Babel」ページから、

OpenBabel-2.4.1.exe 2016-10-11 付 21.9MB

をダウンロードして、
インストール:D:/TOOL/OpenBabel-2.4.1/ に。


改めて、ドキュメントを学習した。


1)「.msi」ファイルを読み込めたんだった

 “Supported File Formats and Options”

 「Accelrys/MSI Cerius II MSI format (msi)



2)コマンドで実行するには:

 “Open Babel v2.3.1 documentation”の
 「obabel and babel - Convert, Filter and Manipulate Chemical Data

  obabel and babel are cross-platform programs designed to
  interconvert between many file formats used in molecular modeling
  and computational chemistry and related areas.
  They can also be used for filtering molecules and for
  simple manipulation of chemical data.

  ・・・・・

  obabel is recommended over babel
  (see Differences between babel and obabel).

  ・・・・・
  ・・・・・

obabel を使うべし。

  obabel hogeA.msi -OhogeB.mol

の様に。


ところで、Python interface は無いのかナ?

探してみたら、
“Python Package Index”に、
openbabel 2.4.1」があった。
  This is a Python interface to the Open Babel chemistry library.

左ペイン(?)の
  Download files
から、
  openbabel-2.4.1-cp27-cp27m-win_amd64.whl
   (722.2 kB)  Py2.7  Jan 2, 2017
をダウンロードして、
解凍して、
(フォルダ内では無くて)直下にある3つを、
<紙>の場合、 D:/TOOL/Anaconda2/Lib/site-packages/ に格納した。

で、テスト実行してみたが、
 DLL が見つからない
と出て使えない。
・・・格納を取り消した。


Anaconda ( Python ) では?

openbabel / packages / openbabel 2.4.1
が見つかる。

  conda install -c openbabel openbabel

でインストール。
パッケージは1つのみ追加された。

これでも、
 DLL が見つからない
と出て使えない。

諦めた。
・・・インストールを取り消した。


Python からは、

 「subprocess」の「call」を使って obabel を実行する。

ことにする。


ところで、
OpenBabelGUIの起動方法は?

1)スタートメニューの「Open Babel GUI」から実行

2)コマンドプロンプトで、「obgui」と打ち込む

と云うこと。



本日はここまで。


OpenBabel と、Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180422

Anaconda 学習:TensorBoard について

2018-06-11 :  PCクリニック
2ヶ月前(2018-04-13)の記事:
Anaconda 学習:Gensim って何?」で、

  ・・・・・
  ・・・・・
  とか、
    MeCab ( 単語分割 )
    TensorBoard ( ビジュアライザ )

  とかと云った言葉が載っていた。
  ・・・・・
  ・・・・・

と書いていた。


TensorBoard に関して若干調べてみたので、
メモ書き(備忘録)。



「Tensorboard」検索で、

Qiita の
【TensorBoard入門】TensorFlow処理を見える化して理解を深める
が見つかる。

  文系卒でDeep LearningどころかPythonも初めてだと、
  TensorFlowを理解するのが遅くてなかなか苦しいです。
  少しでも理解を早めるためにもTensorBoardを学習しました。
  複雑なディープラーニングの理解促進はもちろん、
  デバッグや処理最適化・再設計などいろんなことに使えます。
  いろいろな見える化ができるのですが、
  当記事は入門者に向けたGraph出力方法に絞って解説します

  公式ガイド「TensorBoard: Visualizing Learning」がわかりにくかったので、
  かなり簡素化しています。
  TensorBoardで処理を可視化するのサイトが素晴らしく、
  かなり参考にさせて頂きました。

  ・・・・・
  ・・・・・

  Tensorboardを起動します。
  筆者の環境はAnacondaで構築しているので、
  まずAnaconda NavigatorからTerminalを起動して

  ・・・・・
  ・・・・・

  起動後にブラウザで http://localhost:6006/ を開くと
  TensorBoard画面が表示されます。

  ・・・・・
  ・・・・・



それから、
Qiita の
TensorFlowとTensorBoardでニューラルネットワークを可視化
が見つかる。

  概要

  TensorFlowについてくるTensorBoardを使うと
  ニューラルネットワークの学習過程やデータフローが簡単に
  可視化できてすごいという話。

  以下のドキュメントの内容を実際に動かしてみた結果です。

  ・TensorFlow Mechanics 101
  ・TensorBoard: Visualizing Learning


  前提知識

  ・Neural Networkをちょっとかじった人のための、はじめてのTensorFlow
  ・TensorFlow 畳み込みニューラルネットワークで手書き認識率99.2%の
   分類器を構築



さらに、
mwSoft”の
TensorBoardで処理を可視化する

  概要

  TensorFlowのTensorBoardを使って単純な処理を可視化してみる。


  1 + 2を可視化する

  定数で 1 + 2 をするだけの処理でグラフを書いてみる。

  ・・・・・
  ・・・・・



こう云った記事を教材にして学習かナ?



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180302

Anaconda 学習:psutil パッケージ

2018-06-08 :  PCクリニック
前(2018-06-06)の記事:
Anaconda 学習:mpmath パッケージ」に続いて、
Anaconda 5.0.1 : Windows 版 Python 2.7.14 ( 64bit 版 )
に、
含まれるパッケージ:「Packages for 64-bit Windows with Python 2.7
から、
デフォルトで入っているものを見ていた。

その中で気になったものに、

psutil 5.4.3 A cross-platform process and system utilities module

があった。


リンク先を見ると、

  psutil (process and system utilities) is a cross-platform library
  for retrieving information on running processes and system utilization
  (CPU, memory, disks, network, sensors) in Python.
   It is useful mainly for system monitoring, profiling and limiting
  process resources and management of running processes.
   It implements many functionalities offered by UNIX command line tools
  such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice,
  ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.
   psutil currently supports the following platforms:

===

  psutil(プロセスとシステムユーティリティ)は、実行中のプロセスやシステム
  の利用状況(CPU、メモリ、ディスク、ネットワーク、センサー)に関する情報
  をPythonで取得するためのクロスプラットフォームのライブラリです。
   主にシステムの監視、プロファイリング、およびプロセスリソースの制限、
  実行中のプロセスの管理に役立ちます。
   ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、
  iostat、iotop、uptime、pidof、tty、taskset、pmapなどのUNIXコマンドライン
  ツールによって提供される多くの機能を実装しています。
   psutilは現在、次のプラットフォームをサポートしています:

  ・・・・・
  ・・・・・


それで、

  Example usages

として、

  CPU

  Memory

  Disks

  Network

  Sensors

  Other system info

  Process management

  Further process APIs

  Windows services

等々が載っている。


なお、ドキュメントサイトは、
psutil documentation
でしょうか?

ここの、

  Recipes

を見ていたら、

  Filtering and sorting processes

に載っているコードサンプルに、

from pprint import pprint as pp
とか、
import getpass
とか、
と云ったコードがある。

どんなものか検索してみたら、

8.18. pprint - データ出力の整然化
  pprint モジュールを使うと、Pythonの任意のデータ構造をインタープリタへの
  入力で使われる形式にして"pretty-print"できます。
  フォーマット化された構造の中にPythonの基本的なタイプではない
  オブジェクトがあるなら、表示できないかもしれません。
  Pythonの定数として表現できない多くの組み込みオブジェクトと同様、
  ファイル、ソケット、クラスあるいはインスタンスのようなオブジェクトが
  含まれていた場合は出力できません。
  ・・・・・
  ・・・・・
とか、

15.10. getpass - 可搬性のあるパスワード入力機構
  getpass モジュールは二つの関数を提供します:
  ・・・・・
  ・・・・・
とか、

共に、Python 標準のライブラリでした。


こういった、psutil
そして、
pprintgetpass も学習テーマだナ?



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180505

Anaconda 学習:mpmath パッケージ

2018-06-06 :  PCクリニック
先日(2018-05-25)の記事「Anaconda 学習:imageio パッケージ」に続いて、
Anaconda 5.0.1 : Windows 版 Python 2.7.14 ( 64bit 版 )
に、
含まれるパッケージ:「Packages for 64-bit Windows with Python 2.7
から、
デフォルトで入っているものを見ていた。

その中で気になったものに、

mpmath 1.0.0 Python library for arbitrary-precision
          floating-point arithmetic

があった。


リンク先を見ると、

   mpmath is a free (BSD licensed) Python library for real and complex
  floating-point arithmetic with arbitrary precision.
   It has been developed by Fredrik Johansson since 2007,
  with help from many contributors.

   The following example computes 50 digits of pi by numerically evaluating
  the Gaussian integral with mpmath. See 100 mpmath one-liners for pi and
  the documentation links below for many more examples!

===

   mpmathは、任意精度の実数および複素数浮動小数点演算のための
  フリー(BSDライセンス)Pythonライブラリです。
   それは多くの貢献者の助けを借りて2007年からFredrik Johansson
  によって開発されました。

   次の例では、mpmathでガウス積分を数値的に評価してpiの50桁を計算します。
  piについては100 mpmathのone-linersを参照し、さらに多くの例については
  ドキュメントのリンクを参照してください。

  ・・・・・
  ・・・・・


それで、
ドキュメントは、
Main documentation, current development version」(HTML)
ですね。


  Introduction
の、
  ・Setting up mpmath
の、
  ・Using gmpy (optional)
には、

  By default, mpmath uses Python integers internally.
  If gmpy version 1.03 or later is installed on your system, mpmath will
  automatically detect it and transparently use gmpy integers intead.
  This makes mpmath much faster, especially at high precision
  (approximately above 100 digits).

  To verify that mpmath uses gmpy, check the internal variable BACKEND
  is not equal to ‘python’:

===

  デフォルトでは、mpmathはPython整数を内部的に使用します。
  システムにgmpyバージョン1.03以降がインストールされている場合、
  mpmathはそれを自動的に検出し、gmpy整数をそのまま使用します。
  これにより、mpmathがはるかに高速に、特に高精度(100桁程度)
  で高速になります。

  mpmathがgmpyを使用していることを確認するには、内部変数BACKENDが
  'python'と等しくないことを確認します。

  ・・・・・
  ・・・・・

とある。


この gmpy は、デフォルトでは入っていない。



こういった、mpmath や、gmpy も学習テーマかな?



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180505

Anaconda 学習:レジストリ・アクセス

2018-06-04 :  PCクリニック
かれこれ10年前(2008-10-22)の記事:
「バールのようなもの」続”では、

  ・・・・・
  ・・・・・
  「REI sweeper」は、指定のレジストリやファイルを削除するツールです。
  同じディレクトリにあるsweeper.ini ファイルに記述されたことを実行する。
  見た目の変化は起こらない。

  「WinBatch」はレジストリの操作(追加・削除・変更)やファイルの削除など、
  昔の MS-DOS のバッチコマンドを拡張したような処理を記述できるものです。
  拡張子 .BTW ファイルをエディタで作り、関連づけをしておくとよい。

  但し、「REI sweeper」は、レジストリのキーレベルのみ対象で、
  項目レベルには対処できない。
  一方、「WinBatch」では、レジストリの項目レベルにも対処できる。
  ・・・・・
  ・・・・・

と書いている。


此処に来て、
久々に“WinBatch”を見てみた:

  ・・・・・
  ・・・・・
  皆様にご愛顧いただいて参りました「WinBatch」ですが、
  本製品の開発元である Wilson WindowWare, Inc.が諸般の事情により、
  来る2017年6月末日をもちまして会社業務を終了することとなりました。

  つきましては、現在、弊社での販売を終了させていただいております。
  皆様の長年にわたるご愛顧に心から感謝申し上げますとともに、
  何卒、事情をご諒察賜り、ご理解いただきますようお願い申し上げます。

  なお、ご購入されたお客様においては、
  引き続き、製品のご利用はいただけます。
  ・・・・・
  ・・・・・

となっていた。


そんな訳で、
Python で、レジストリ・アクセス について学習しようと思った。

手始めに、
このブログ内で「レジストリ アクセス」検索を行った。

 ・2018/02/21 : 調査結果メモ:“波乗野郎”代替“CompleteGetter”
 ・2016/12/26 : viva “GSL Shell”
 ・2016/11/09 : Lua 学習: xls ファイル出力
 ・2009/02/11 : 仮想 高校 化学部 部活 ?
 ・2008/11/13 : Windows XP「検索」画面設定
 ・2008/11/09 : Windows操作の自動化ツール
 ・2008/10/22 :「バールのようなもの」続
 ・2008/08/28 :『Windows Update』
 ・2008/08/09 : 体験版ソフト

等々が見つかるが、・・・・・


実質、
冒頭の“「バールのようなもの」続”だけダ。

そこで、「Python レジストリ・アクセス」Google 検索では、


“PythonRecipe”の
214:Windowsレジストリにアクセスする

  Windows のレジストリを操作するには _winreg モジュールを 使います。
  まだ Windows API の薄いラッパーにすぎないモジュールであるため、
  新たな実装を募集中のようです。

  ・・・・・
  ・・・・・


“かせきのうさぎさん”の
winreg でレジストリを読み書きするサンプルコード

  標準ライブラリに入ってる winreg を使うとレジストリの読み書きができるけど、
  こいつは Windows API を薄く包んでいるだけなのでリファレンスを見ても
  使い方がさっぱりわからないという。

  いろいろ調べて、おそらくこうするのが正しいと思われる
  サンプルコードを書いた。

  ・・・・・
  ・・・・・


“Python 2.7.15 ドキュメント”の
35.3. _winreg - Windows レジストリへのアクセス

  これらの関数は Windows レジストリ API を Python から使えるようにします。
  プログラマがレジストリハンドルのクローズを失念した場合でも、
  確実にハンドルがクローズされるようにするために、整数値をレジストリ
  ハンドルとして使う代わりに ハンドルオブジェクト が使われます。

  ・・・・・
  ・・・・・


これらを参考にして、

むかし、WinBatch で、作っていた:
setregstring=RIGHT /R:HKEY_CURRENT_USER "SOFTWARE\hoge1\hoge2"
setregstring=RIGHT /N /R:HKEY_CURRENT_USER "SOFTWARE\Licenses\hoge3"
に相当することを書いてみた。
import _winreg
KR = _winreg.HKEY_CURRENT_USER
KL1 = 'Software\\hoge1\\hoge2'; KL2 = 'Software\\Licenses'

_winreg.DeleteKey( KR, KL1 )

key = _winreg.OpenKey( KR, KL2, 0, _winreg.KEY_ALL_ACCESS )
_winreg.DeleteValue( key, 'hoge3' )
と云うことで、良さそう?



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180428

Anaconda 学習:with 構文

2018-05-30 :  PCクリニック
Python のサンプルコードを見ていると、・・・・・

時には、
with open( 'foo.txt', 'w' ) as f:
f.write( 'sample statement:' )
と云った様なコードを目にする。

遅ればせながら、
この with について学習した。

「Python with」で検索 ・・・

with構文”で多数みつかる。


1つ:
“Qiita”の
with構文(Python)

   with構文を使うとついつい忘れてしまうclose()を省略することができる上に
  可読性も上がるので便利。
#with文使用
with open("text.txt", 'w') as text:
text.write("Hello, world!")
  の様に、
    text.close()
  を書かなくて良い。


もう1つ:
“blog.PanicBlanket.com”の
Pythonのwith構文を覚えた!

  基本的な使い方

  ファイルを開いて読み込む処理が典型的かな。
  今まではこうしていた:
f = open('data.txt', 'r')
print f.read()
f.close()
  with 構文を使うとこう書ける:
with open('data.txt', 'r') as f:
print f.read()
  開いたファイルは、
  ブロックを抜けるときに自動で閉じてくれる。

withに対応したクラス

  with 構文に書けるクラスはファイルだけじゃない。
  __enter__ と __exit__ の2つのメソッドを持ったクラス
  (のインスタンス)なら何でもいい。
  __enter__ はブロックに入るときに、__exit__ はブロックを
  抜けるときに呼ばれる。
  ちょっと試してみよう。

  ・・・・・
  ・・・・・

  ブロックの中を実行する前に __enter__ が、
  あとに __exit__ が呼ばれているのがわかる。
  as t: の部分の t には、__enter__ の返り値が代入されるので、
  self を返している。

  ともあれ、1行短くなって見やすくなる。
  これからはこうやって書くようにしよう。


と云うことでした。



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180417

“.xlsx”ファイルとは ZIP 書庫のこと

2018-05-28 :  PCクリニック
先日(2018-05-09)の記事:
Anaconda 学習:Excel ファイル・アクセス」では、

「openpyxl」を学習した。

  ・・・・・
  ・・・・・

  Openpyxlは、Excel 2010 xlsx / xlsm / xltx / xltmファイルを
  読み書きするためのPythonライブラリです。

  これは、PythonからOffice Open XMLフォーマットをネイティブに
  ・・・・・

  ・・・・・
  ・・・・・


これでは、.xlsx は、
  “Office Open XMLフォーマット”である。
とあった。


<紙>の知識では、
“.xlsx”は、XML 即ち eXtensible Markup Language
だが、これって、HTML と同じテキストだと思っていた。

でも、
.xlsx はバイナリファイル?

つまり、“Office Open XMLフォーマット”はバイナリ形式?



バイナリモードの XML について探してみたが、・・・・・

見つからない。

無いものが見つからないのは当然?


こんな記事が見つかった:

OpenBook Excel and Software development and more...
の、
Excel ブック (*.xlsx) 形式概要

  ◆Office Open XML

  Office 2007 から採用されているファイル形式「Office Open XML」は、
  XML をベースとしたオフィスソフトウェア用のファイルフォーマット形式です。
  2006 年 12 月に Ecma International により ECMA-376 として標準化され、
  2008 年 4 月には ISO と IEC の合同技術委員会 ISO/IEC JTC 1 の副委員会
  SC 34 において、ISO/IEC 29500 として標準化されました(Wiki ペディアより)。
  詳細な仕様については、Ecma International のホームページから
  約 5500 ページに渡る仕様書をダウンロードすることができます。

  ◆Excel ファイル構造

  Office 2007 からは XML で記述された文書と画像やプリンタ情報などの
  バイナリ情報を ZIP でパッケージングして格納するようになりました。
  Excel の場合、拡張子を「.xlsx」から「.zip」に変更してエクスプローラで
  構造を確認することができます。

  ・・・・・
  ・・・・・


詰まるところ、
.xlsx”ファイルは ZIP 書庫である。


確かめてみた:

  拡張子を「.xlsx」から「.zip」に変更して、

開くと、Explzh で中身が見られた。

「xl」フォルダの「worksheets」フォルダに、
「sheet1.xml」ファイルがあり、

これが、
「シート情報(Sheet1)」ダ。



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180414

Anaconda 学習:imageio パッケージ

2018-05-25 :  PCクリニック
Anaconda 5.0.1 : Windows 版 Python 2.7.14 ( 64bit 版 )
に、
含まれるパッケージ:「Packages for 64-bit Windows with Python 2.7
から、
デフォルトで入っているものを見ていた。

その中で気になったものに、

imageio 2.2.0 a Python library for reading and writing image data

があった。


リンク先を見ると、

   Imageio is a Python library that provides an easy interface to
  read and write a wide range of image data, including animated images,
  video, volumetric data, and scientific formats.
   It is cross-platform, runs on Python 2.7 and 3.4+,
  and is easy to install.
===
   Imageioはアニメーション画像、ビデオ、体積データ、科学的フォーマットを
  含む幅広い画像データを読み書きするための簡単なインターフェイスを提供する
  Pythonライブラリです。
   これはクロスプラットフォームで、Python 2.7と3.4+で動作し、
  インストールが簡単です。

  Example

  Here's a minimal example of how to use imageio. ・・・・・
  
>>> import imageio
>>> im = imageio.imread('imageio:chelsea.png') # read a standard image
>>> im.shape # im is a numpy array
(300, 451, 3)
>>> imageio.imwrite('~/chelsea-gray.jpg', im[:, :, 0])
  ・・・・・
  ・・・・・


それで、
ドキュメントは、“imageio 2.3.0 documentation”の、
Welcome to imageio's documentation!
ですね。

“Getting started”の、
Usage examples

には、

  Some of these examples use Visvis to visualize the image data,
  but one can also use Matplotlib to show the images.
===
  これらの例ではVisvisを使用して画像データを視覚化していますが、
  Matplotlibを使用して画像を表示することもできます。

とある。

visvisについては、
先々月(2018-03-26)の記事「Anaconda 学習:visvis 導入
の如くです。


そして、

  Read medical data (DICOM)

に、
# -----------------
import imageio

# Read as loose images
ims = imageio.mimread( 'x.dcm' )
とすることで、

  len(ims) == 1

の list で、

  Image( [[ , ], [ , ]], dtype=int16 )

  len(ims[0]) == 行数
  len(ims[0][0]) == 列数

が得られる。

このパッケージは、なかなかのもの?

もっと、学習しよう!



本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180409

Anaconda 学習:日本語文字コードの扱い

2018-05-23 :  PCクリニック
先日(2018-05-11)の記事:
Anaconda 学習:pandas で、Excel ファイル・アクセス」等の、
pandasと、

前回(2018-05-21)の記事「Anaconda 学習:PyAutoGUI 補足事項」等の
PyAutoGUIとを使って、

Excel ファイルにある“タイトル”一覧を、
個別 Excel ファイルに埋め込んでいく処理プログラムを作っている。

主な処理は、

入力 Excel ファイルは、pandas で読み込んで、データフレームにする。
このデータフレームの行単位で、
出力 Excel ファイルに、PyAutoGUI で書き出す。

ここで、全てが1バイト文字(ANK文字)では問題ないが、
2バイト文字(日本語文字)を扱うとき、
文字バケが発生する。

pyautogui.typewrite(~) は、日本語文字には使えないので、
クリップボード経由で send することにした。


原因を究明する為に、

「python string encode」検索を行った。

“Qiita”の
Python2のstr/unicodeとencode/decode

  はじめに
  Python2の文字列はややこしい。

  用語
  そもそもPythonに限らず、文字コード関連の話はややこしい。
  これはたぶん用語の使い方が人によって違うから。
  ここではまつもとゆきひろ コードの世界に載ってる次の定義に従う。

  ・・・・・
  ・・・・・

  2種類の文字列
  Python2には文字列が2種類ある。
  ここではその2つを str文字列 および unicode文字列 と呼び、
  これらをまとめて 文字列 と呼ぶ。
  公式ドキュメントでも用語があまり統一されていないので、
  とりあえずこう呼ぶことにする。

  先に言っておくと、基本的にunicode文字列を使うべき。

  str文字列
  ・'...' リテラルで生成されるオブジェクト
  ・UTF-8, Shift-JISなどの符号化方式によって各文字を符号化して得られる
   バイトを並べたもの
  ・1文字が複数バイトで表現されることもある
  ・str文字列そのものは、符号化に使われた符号化方式の情報をもたない
  ・符号化方式を知るには基本的に片っ端から試すらしい
  ・対話環境で 'あいう' と入力すると、 \x で1バイトずつ区切られたバイト列が返る

  ・・・・・
  ・・・・・

  unicode文字列
  ・u'...' リテラルで生成されるオブジェクト
  ・文字コードUCS-2上で各文字に対応する整数を並べたもの
  ・文字に対応する整数はUCS-2によって決められるため、
   符号化方式の違いを意識する必要がない
  ・対話環境で u'あいう' と入力すると、\u で1文字ずつ区切られた整数列が返る

  ・・・・・
  ・・・・・


とか、
“Cassiopeiaの日記”の
Pythonと日本語表示と文字コード、unicode 、str 、utf-8 、shift-jis

   Pythonは使いやすい覚えやすい気持ちいいとまで言う人もいる。
  たしかにその通りだと思った。
  しかし、日本語を使おうとした時に急に気持ち良くなくなる。
  そう感じたのは僕だけではないはずだ。

   ということで今日の日記のネタはPythonと日本語となりました。

  (WindowsXPにココから“Python 2.5.1 Windows installer”を
  インストールした環境でテストしています。)

  ・まずは、あなたが書いたコードはutf-8で保存する。
   そして、そのコードの先頭には以下を記入する。
# -*- coding: utf-8 -*-
  ・・・・・
  ・・・・・


とかが見つかったので、
これらで学習した。

そこで、
encodeを使ったテストプログラムで確認した。
# -*- coding: utf-8 -*-
# ======================
import win32clipboard
import pandas as pd
import pyautogui as pa

def set_clipboard( text ):
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText( text )
win32clipboard.CloseClipboard()

def send_C_keys( text ): # clipboard 経由 Send
set_clipboard( text )
pa.hotkey( 'ctrl', 'v' )

# ----------------------

Mxls = u'hoge.xls' # 入力 Excel ファイル
Txls = u'boge.xls' # 出力 Excel ファイル

# ----------------------

df = pd.read_excel( Mxls, header=None )
MT = df.dropna(subset=[1]).reset_index(drop=True) # B列がNaNの行
nn = len(MT)

# ----------------------

pa.moveTo( 1600, 300 ); pa.click()

pa.keyDown( 'shift' ); pa.click( button='right' )
pa.keyUp( 'shift' ); pa.press( 'w' )

pa.typewrite( 'start '+Txls ); pa.press( 'enter' )
xls = False
while not xls:
xls = pa.getWindow( 'Microsoft Excel' )
xls.set_foreground()

ID = MT.iloc[0,1] # これでループ予定
id = ID[0:13] # 出力する文字列

pa.moveTo( 350, 600 ); pa.click( clicks=2 )
send_C_keys( id.encode('shift_jis') )
pa.press( 'enter' )
これで、いけそうだ。


  honyarara.encode('utf-8')
とか、
  konyarara.encode('shift_jis')

を適切に
使わないと文字バケを起こすのダった。


大変勉強になった。


本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180408,12

Anaconda 学習:PyAutoGUI 補足事項

2018-05-21 :  PCクリニック
前回(2018-05-18)の記事「Anaconda 学習:PyAutoGUI 導入」の最後に書いた、

  なお、
  この記事の最後に、

    更に複雑な自動化を試みるとpyautoguiだけでは物足りません。

     pyautoguiのみを使ったプログラムの一番のネックは、
    条件分岐ができないことにあります。
     今回の例では、ブラウザが起動して有効になるまでの時間が読めないため、
    長めにsleepせざるを得ないなどの不具合があります。
     イレギュラーが発生するとたちまち失敗してしまします。
    処理が成功したか、失敗したかのアンサーを受けることができないのです。

    それらに対応するためにはさらに本質的な自動化に踏み込まざるを得ません。
    WindowsAPIと組み合わせることで、より本質的な自動化ができそうなので、
    今度試してみます。

  とある。
  これは些か気になる事項ダ。


この内、
  ブラウザが起動して有効になるまでの時間が読めない
事に対処する方法が見つかった。

つまり、

  Cookbook example:start an app and get its window on Windows #139

を見つけた。

このコードでは、
###################

# wait for the window
while True:
window = pyautogui.getWindow("our window's title")
if window:
window.set_foreground()
break

# ...interact with the window using PyAutoGUI...

###################
といった処理がある。

つまり、
  pyautogui.getWindow
と云ったような関数がある。
と云うこと。

そこで、
「_window_win.py」の中を覗いてみた。

  def set_position(self, x, y, width, height):

  def move(self, x, y):

  def resize(self, width, height):

  def maximize(self):

  def set_foreground(self):

  def minimize(self):

  def restore(self):

  def close(self):

  def get_position(self):

  def getWindows():

  def getWindow(title, exact=False):

と云ったような関数が定義されている。


この内の getWindows 関数は、
2年前(2016-06-25)の記事「ウィンドウ・ハンドルの取得
に載せている、LuaJITのコードに相当する。

そして、
この関数を使っている getWindow 関数を使えば、
対象アプリの立ち上げを捕捉できる。

これで、
 ・Mouse Control Functions
 ・Keyboard Control Functions
に並ぶ、
 ・Window Control Functions(と云って良いのかな)
が揃っている。
と云うことになる。


PyAutoGUI 学習は続く。


本日はここまで。


Anaconda ( Python ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


180410
おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク