ブログ - Pythonカテゴリのエントリ
python Japanのコンテンツ.
ゼロからのPython入門講座
https://www.python.jp/train/index.html
でも必要に迫られてないので,手を出しにくい.最初の一歩の準備は完全にできてるんだが.
ゼロからのPython入門講座
https://www.python.jp/train/index.html
でも必要に迫られてないので,手を出しにくい.最初の一歩の準備は完全にできてるんだが.
Pythonプログラミングなんて知らなくても,サンプルコードを使って応用することもあるさ.
日時を表示する最小限コードをメモでとどめておこう.
実行するとこうなる.
日時を表示する最小限コードをメモでとどめておこう.
$ cat datetest.py🆑
import datetime
nt = datetime.datetime.now()
print(nt.strftime('%Y%m%dT%H%M.%S'))
print(nt.strftime('%Y/%m/%d %H:%M:%S'))
$ python datetest.py🆑
20200319T1536.44
2020/03/19 15:36:44
$
入手したファイルが正しいものかを,MD5でチェックする.
まずはコマンド.
そしてコード.
実行してみる.
hashlib.md5の部分を変更すれば,hashlib.sha256とか他のハッシュ値に応用できる.
まずはコマンド.
$ md5 part-00000.gz🆑
MD5 (/Users/ujpadmin/Downloads/part-00000.gz) = 9d251b64a2c5723181ef8cb3fb22be55
$
import hashlib↲
fileName = '/Users/ujpadmin/Downloads/part-00000.gz'
with open(fileName, 'rb') as f:↲
»-------checksum = hashlib.md5(f.read()).hexdigest()
»-------print checksum
※»-------は,インデント.
$ python checkMD5.py🆑
9d251b64a2c5723181ef8cb3fb22be55🈁
$
Pythonの環境を作るのに一苦労.今理解しているのは,これまでの概念がちょっと邪魔しているのでは無いかということかなぁ.
新しくプロジェクトを作ると,その下にPythonの本体やライブラリを複製して配下に設置する.こんな感じ.
この場合,5というプロジェクトを作ったら,5ディレクトリの下にPythonのbinやライブラリがコピーされたという感じ.
ユーザプログラムと動作環境を全部合わせて1プロジェクト.依存関係とかを排除するという意図かなぁ.これを「仮想環境」と表現しているのかどうなのか.
昔と違って,ディスクやメモリがたくさんあるので,そういうのをケチる仕組みよりも簡単快適環境を作る方向に進化しているのかなと,思ったりします.
新しくプロジェクトを作ると,その下にPythonの本体やライブラリを複製して配下に設置する.こんな感じ.
[MBP2017:ujpadmin 00:24:19 ~/PycharmProjects/5 ]
$ ls -la
total 4
drwxr-xr-x 6 ujpadmin staff 192 4 26 23:48 .
drwxr-xr-x 7 ujpadmin staff 224 4 26 23:48 ..
drwxr-xr-x 13 ujpadmin staff 416 4 26 23:48 bin
drwxr-xr-x 2 ujpadmin staff 64 4 26 23:48 include
drwxr-xr-x 3 ujpadmin staff 96 4 26 23:48 lib
-rw-r--r-- 1 ujpadmin staff 111 4 26 23:48 pyvenv.cfg
[MBP2017:ujpadmin 00:24:21 ~/PycharmProjects/5 ]
$ ls -la bin
total 10292
drwxr-xr-x 13 ujpadmin staff 416 4 26 23:48 .
drwxr-xr-x 6 ujpadmin staff 192 4 26 23:48 ..
-rw-r--r-- 1 ujpadmin staff 2202 4 26 23:48 activate
-rw-r--r-- 1 ujpadmin staff 1258 4 26 23:48 activate.csh
-rw-r--r-- 1 ujpadmin staff 2422 4 26 23:48 activate.fish
-rwxr-xr-x 1 ujpadmin staff 431 4 26 23:48 easy_install
-rwxr-xr-x 1 ujpadmin staff 439 4 26 23:48 easy_install-3.6
-rwxr-xr-x 1 ujpadmin staff 389 4 26 23:48 pip
-rwxr-xr-x 1 ujpadmin staff 391 4 26 23:48 pip3
-rwxr-xr-x 1 ujpadmin staff 395 4 26 23:48 pip3.6
-rwxr-xr-x 1 ujpadmin staff 3500936 4 26 23:48 python
-rwxr-xr-x 1 ujpadmin staff 3500936 4 26 23:48 python3
-rwxr-xr-x 1 ujpadmin staff 3500936 4 26 23:48 python3.6
[MBP2017:ujpadmin 00:24:33 ~/PycharmProjects/5 ]
$
ユーザプログラムと動作環境を全部合わせて1プロジェクト.依存関係とかを排除するという意図かなぁ.これを「仮想環境」と表現しているのかどうなのか.
昔と違って,ディスクやメモリがたくさんあるので,そういうのをケチる仕組みよりも簡単快適環境を作る方向に進化しているのかなと,思ったりします.
最近のアプリは,リソースファイルを入れ替えれば簡単に他国語化できるようになっている.まぁ,むかーしのMacintoshの時代から,実行ファイルはリソースに直接アクセスできる規格があったので,軽く多言語対応していたなぁ.もう昔話すぎるのだけれど.
Pleiades - Eclipse プラグイン日本語化プラグイン
http://mergedoc.osdn.jp
Eclipseとかと一緒になったPleiadesをダウンロードしてファイルを展開.setupアプリを起動して,日本語化したいアプリ,今回の場合はPyCharmを指定するだけ.







簡単.ありがたや〜
Pleiades - Eclipse プラグイン日本語化プラグイン
http://mergedoc.osdn.jp
Eclipseとかと一緒になったPleiadesをダウンロードしてファイルを展開.setupアプリを起動して,日本語化したいアプリ,今回の場合はPyCharmを指定するだけ.







簡単.ありがたや〜
元はIBMが作って無償提供されているIDEのEclipse.ここ10年くらいはメインストリームな感じだったけれど,現代においては古臭いというかしがらみにより最新のニーズを取り込んで進化も遅くなっているらしい.大企業病か?
という説教みたいな話は置いといて,Pythonを使うためのIDEでしらべたり若い子に聞いたら,PyCharmですよ!というのでインストールしてみる.
PyCharmはBrewでも準備があるというので探してみる.
Brew版は最新リリース版の取り込みにラグがあるらしいけれど,本質的に私のニーズだと大きな問題はないので気にしない.
ということでインストール.
サクッと入りました.
そのままコマンドラインで起動してみる.
このあとはGUIです.

初めてのセットアップなので設定ファイルは読み込まずに.

プラポリ.スクロールして一番下までいく.

プライバシーポリシーに同意する場合,Acceptボタンを押す.

しょ設定始まるけれど,とりあえず

白いか黒いか.お好みでどうぞ.


BashScripitのプラグインは入れておく.





残念.設定が足りないので,macOSに最初からインストールされているPython2.7が認識されている.
という説教みたいな話は置いといて,Pythonを使うためのIDEでしらべたり若い子に聞いたら,PyCharmですよ!というのでインストールしてみる.
PyCharmはBrewでも準備があるというので探してみる.
MBP2017:.pyenv ujpadmin$ brew cask info pycharm-ce🆑
pycharm-ce: 2018.1.1,181.4445.76
https://www.jetbrains.com/pycharm/
Not installed
From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/pycharm-ce.rb
==> Names
Jetbrains PyCharm Community Edition🈁
PyCharm CE
==> Artifacts
PyCharm CE.app (App)
MBP2017:.pyenv ujpadmin$
ということでインストール.
MBP2017:.pyenv ujpadmin$ brew cask install pycharm-ce🆑
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (caskroom/cask).
No changes to formulae.
==> Satisfying dependencies
==> Downloading https://download.jetbrains.com/python/pycharm-community-2018.1.1.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask pycharm-ce
==> Installing Cask pycharm-ce
==> Moving App 'PyCharm CE.app' to '/Applications/PyCharm CE.app'.🈁
🍺 pycharm-ce was successfully installed!
MBP2017:.pyenv ujpadmin$
そのままコマンドラインで起動してみる.
MBP2017:.pyenv ujpadmin$ open '/Applications/PyCharm CE.app'🆑
MBP2017:.pyenv ujpadmin$

初めてのセットアップなので設定ファイルは読み込まずに.

プラポリ.スクロールして一番下までいく.

プライバシーポリシーに同意する場合,Acceptボタンを押す.

しょ設定始まるけれど,とりあえず

白いか黒いか.お好みでどうぞ.


BashScripitのプラグインは入れておく.





残念.設定が足りないので,macOSに最初からインストールされているPython2.7が認識されている.
macOS high Sierra上にpython3.6.5の環境を作る.その2 anaconda3をいれて切り替える
- ブロガー :
- ujpblog 2018/4/24 0:18
Python3の環境構築の続き.
anaconda3-5.1.0をインストール
Pythonの便利パッケージのAnaconda3をPythonとともにインストールする.
結構時間かかるね.マシンの処理能力によるけど.仕事場のMacbook Airだと30分かかったけど家のMacBook Proだと10分だった...
anaconda3-5.1.0を使うようにする
pyenvコマンドを使って,Pythonのバージョンを切り替える.現在は1つしか入ってない.
まずは一覧を出してみる.
やっぱり1つしか入ってない.macOSに最初から入っているバージョンは無視だね.
システム全体で使うバージョンを設定する.
アスタリスクが切り替わっているのが確認できる.おとなしいなぁ.
anaconda3-5.1.0をインストール
Pythonの便利パッケージのAnaconda3をPythonとともにインストールする.
MBP2017:~ ujpadmin$ pyenv install anaconda3-5.1.0🆑
Downloading Anaconda3-5.1.0-MacOSX-x86_64.sh...
-> https://repo.continuum.io/archive/Anaconda3-5.1.0-MacOSX-x86_64.sh
Installing Anaconda3-5.1.0-MacOSX-x86_64...
Installed Anaconda3-5.1.0-MacOSX-x86_64 to /Users/ujpadmin/.pyenv/versions/anaconda3-5.1.0
MBP2017:~ ujpadmin$
anaconda3-5.1.0を使うようにする
pyenvコマンドを使って,Pythonのバージョンを切り替える.現在は1つしか入ってない.
まずは一覧を出してみる.
MBP2017:~ ujpadmin$ pyenv versions🆑
* system (set by /Users/ujpadmin/.pyenv/version)
anaconda3-5.1.0
MBP2017:~ ujpadmin$
システム全体で使うバージョンを設定する.
MBP2017:~ ujpadmin$ pyenv global anaconda3-5.1.0🆑
MBP2017:~ ujpadmin$
MBP2017:~ ujpadmin$ pyenv versions🆑
system
* anaconda3-5.1.0 (set by /Users/ujpadmin/.pyenv/version)🈁
MBP2017:~ ujpadmin$
これまでBashとcurlでどうにかしていたREST APIアクセスだけれど,限界を感じ始めたのでちょっとPythonを勉強してみようと考えた.それでまずは環境を整える.
現在の環境を確認
macOS High Sierra 10.13.4 に最初から入っているPythonの場所とバージョンを調べる.
履いているのは2.x系.現在はPython 3系列が主軸?らしいし文法も違うというししがらみもないので,新しいバージョンを入れていくことにする.
pyenvをいれる
最初に,Pythonの環境を整えるためにpyenvをインストール.パッケージなどを管理するツールと考えればよろし.
brewで情報を確認.
pythonに限らず開発環境を整えてないので,不足しているもの多数...インストールする.
OpenSSLに関する部分が何かしなければいけないようだけれど,それは次回以降として...
pyenvをいれる
インストールしたpyenvの場所とバージョンを確認.
無事インストールできた模様.
ディストリビューションはanaconda
Continuum Analyticsという会社が,Python本体にデータ分析系のライブラリなどをいい感じに揃えたパッケージを用意していて,それがAnacondaという名前のディストリビューションとなっており,人気なので,深く考えずにそれにあやかってみる.
pyenvコマンドを使って,現在利用できる最新のanacondaのリストを取り出す.
今日は全部最新で行くのでanaconda3-5.1.0をインストール.ちょっと時間がかかるので別の記事とします.
現在の環境を確認
macOS High Sierra 10.13.4 に最初から入っているPythonの場所とバージョンを調べる.
MBP2017:~ ujpadmin$ which python🆑
/usr/bin/python🈁
MBP2017:~ ujpadmin$
MBP2017:~ ujpadmin$ python --version🆑
Python 2.7.10🈁
MBP2017:~ ujpadmin$
pyenvをいれる
最初に,Pythonの環境を整えるためにpyenvをインストール.パッケージなどを管理するツールと考えればよろし.
brewで情報を確認.
MBP2017:~ ujpadmin$ brew info pyenv🆑
pyenv: stable 1.2.3 (bottled), HEAD
Python version management
https://github.com/pyenv/pyenv
Not installed🈁
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/pyenv.rb
==> Dependencies
Recommended: autoconf ✘, pkg-config ✘, openssl ✘, readline ✘
==> Options
--without-autoconf
Build without autoconf support
--without-openssl
Build without openssl support
--without-pkg-config
Build without pkg-config support
--without-readline
Build without readline support
--HEAD
Install HEAD version
MBP2017:~ ujpadmin$
MBP2017:~ ujpadmin$ brew install pyenv🆑
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
r
==> Installing dependencies for pyenv: autoconf, pkg-config, openssl, readline
==> Installing pyenv dependency: autoconf
==> Downloading https://homebrew.bintray.com/bottles/autoconf-2.69.high_sierra.bottle.4.tar.gz
######################################################################## 100.0%
==> Pouring autoconf-2.69.high_sierra.bottle.4.tar.gz
==> Caveats
Emacs Lisp files have been installed to:
/usr/local/share/emacs/site-lisp/autoconf
==> Summary
🍺 /usr/local/Cellar/autoconf/2.69: 71 files, 3.0MB
==> Installing pyenv dependency: pkg-config
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pkg-config-0.29.2.high_sierra.bottle.tar.gz
🍺 /usr/local/Cellar/pkg-config/0.29.2: 11 files, 627.2KB
==> Installing pyenv dependency: openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2o_1.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openssl-1.0.2o_1.high_sierra.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
/usr/local/etc/openssl/certs
and run
/usr/local/opt/openssl/bin/c_rehash
This formula is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
For pkg-config to find this software you may need to set:
PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
==> Summary
🍺 /usr/local/Cellar/openssl/1.0.2o_1: 1,791 files, 12.3MB
==> Installing pyenv dependency: readline
==> Downloading https://homebrew.bintray.com/bottles/readline-7.0.3_1.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring readline-7.0.3_1.high_sierra.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only..
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/readline/lib
CPPFLAGS: -I/usr/local/opt/readline/include
==> Summary
🍺 /usr/local/Cellar/readline/7.0.3_1: 46 files, 1.5MB
==> Installing pyenv
==> Downloading https://homebrew.bintray.com/bottles/pyenv-1.2.3.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pyenv-1.2.3.high_sierra.bottle.tar.gz
🍺 /usr/local/Cellar/pyenv/1.2.3: 597 files, 2.4MB
MBP2017:~ ujpadmin$
pyenvをいれる
インストールしたpyenvの場所とバージョンを確認.
MBP2017:~ ujpadmin$ which pyenv🆑
/usr/local/bin/pyenv
MBP2017:~ ujpadmin$
MBP2017:~ ujpadmin$ pyenv -v🆑
pyenv 1.2.3
ディストリビューションはanaconda
Continuum Analyticsという会社が,Python本体にデータ分析系のライブラリなどをいい感じに揃えたパッケージを用意していて,それがAnacondaという名前のディストリビューションとなっており,人気なので,深く考えずにそれにあやかってみる.
pyenvコマンドを使って,現在利用できる最新のanacondaのリストを取り出す.
MBP2017:~ ujpadmin$ pyenv install --list|grep anaconda|sort|tail🆑
anaconda3-4.0.0
anaconda3-4.1.0
anaconda3-4.1.1
anaconda3-4.2.0
anaconda3-4.3.0
anaconda3-4.3.1
anaconda3-4.4.0
anaconda3-5.0.0
anaconda3-5.0.1
anaconda3-5.1.0 🈁
MBP2017:~ ujpadmin$