Python - 概要・概要・バージョン・Hello world!

 クラウディア
1. 能書き
2. バージョン
3. Hello world!

1. 能書き

 いずれ、勉強せにゃあかんとは思っていたのですが、事情があって、少し python をかじってみます。  「FreeBSD」で少し、何かをインストールすると大抵、依存するものとして「Python」はインストールされているようです。  「Python」のディストリビューションとして、「Anaconda」というものがありますが、「Python(ニシキヘビ)」に対して、「Anaconda(アミメニシキヘビ)」というのは、まあこういうのを命名する人たちのよくある洒落っ気ですな。

2. バージョン

 既にわたしの環境
OS			FreeBSD 10.3 RELEASE i386
 では python はインストールされているので、バージョンを確認しようとしたら

> python --version
python: コマンドが見つかりません.
 んにゃ?

> ls /usr/local/bin/pytho*
/usr/local/bin/python2  /usr/local/bin/python2-config  /usr/local/bin/python2.7  /usr/local/bin/python2.7-config
 python2 と python2.7 がインストールされています。  何か依存しているアプリケーションをインストールしているためだと思われます。  改めて、ports を確認してみました。

> cd /usr/ports/lang
> ls -ld python*
drwxr-xr-x  2 root  wheel  512  1月 25  2017 python
drwxr-xr-x  2 root  wheel  512  9月 25 08:05 python-doc-html
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-doc-pdf-a4
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-doc-pdf-letter
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-doc-text
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-mode.el
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python-tools
drwxr-xr-x  2 root  wheel  512  5月 22  2017 python2
drwxr-xr-x  3 root  wheel  512 10月 16 07:56 python27
drwxr-xr-x  2 root  wheel  512 11月  3  2016 python3
drwxr-xr-x  3 root  wheel  512  3月 25  2016 python32
drwxr-xr-x  3 root  wheel  512  8月 10 08:02 python34
drwxr-xr-x  3 root  wheel  512  8月 10 08:02 python35
drwxr-xr-x  3 root  wheel  512 10月  5 07:15 python36
 せっかく今から覚えていくので、とりあえず、新しいバージョンにしてみます。  Makefile を見ても python3 のマイナーバージョンがわからないので、python3 をインストールしてみて python36 よりも新しければそれを使って、そうでなければ python3 をアンインストールして python36 をインストールしてみようと思います。  で、python3 をインストールしてみたら

> ls -la /usr/local/bin/pytho*
lrwxr-xr-x  1 root  wheel     9 11月  9  2016 /usr/local/bin/python2 -> python2.7
lrwxr-xr-x  1 root  wheel    16 11月  9  2016 /usr/local/bin/python2-config -> python2.7-config
-r-xr-xr-x  1 root  wheel  4148 10月 16 07:54 /usr/local/bin/python2.7
-r-xr-xr-x  1 root  wheel  1769 10月 16 07:54 /usr/local/bin/python2.7-config
lrwxr-xr-x  1 root  wheel     9 11月 27 22:20 /usr/local/bin/python3 -> python3.6
lrwxr-xr-x  1 root  wheel    16 11月 27 22:20 /usr/local/bin/python3-config -> python3.6-config
-r-xr-xr-x  2 root  wheel  5296 11月 27 22:18 /usr/local/bin/python3.6
lrwxr-xr-x  1 root  wheel    17 11月 27 22:19 /usr/local/bin/python3.6-config -> python3.6m-config
-r-xr-xr-x  2 root  wheel  5296 11月 27 22:18 /usr/local/bin/python3.6m
-r-xr-xr-x  1 root  wheel  3082 11月 27 22:19 /usr/local/bin/python3.6m-config
 ってことですので、これでよし。  今んとこ、python3 をデフォルトとしましょう。  .cshrc に定義

alias python    python3

3. Hello world!

 何はともあれ、Hello world!。  python の拡張子は、.py のようですので、test01.py を書きます。
print "Hello world!"
 で、実行してみたら、こんなんなっちゃいます。
Error processing line 1 of /usr/local/lib/python3.6/site-packages/zope.component-4.4.1-py3.4-nspkg.pth:

  Traceback (most recent call last):
    File "/usr/local/lib/python3.6/site.py", line 168, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 568, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored
Error processing line 1 of /usr/local/lib/python3.6/site-packages/zope.event-4.3.0-py3.5-nspkg.pth:

  Traceback (most recent call last):
    File "/usr/local/lib/python3.6/site.py", line 168, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 568, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored
Error processing line 1 of /usr/local/lib/python3.6/site-packages/zope.interface-4.5.0-py3.6-nspkg.pth:

  Traceback (most recent call last):
    File "/usr/local/lib/python3.6/site.py", line 168, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 568, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored
  File "/usr/home/hogehoge/lang/python/sample/hellong.py", line 1
    print "Hello world!"
                       ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello world!")?
 うはぁ、参考にしたのが python2 だったようで、python2 と python3 では細かな文法が違うようです。  気を取り直して
print("Hello world!")
 で
Error processing line 1 of /usr/local/lib/python3.6/site-packages/zope.component-4.4.1-py3.4-nspkg.pth:

  Traceback (most recent call last):
    File "/usr/local/lib/python3.6/site.py", line 168, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 568, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored
Error processing line 1 of /usr/local/lib/python3.6/site-packages/zope.event-4.3.0-py3.5-nspkg.pth:

  Traceback (most recent call last):
    File "/usr/local/lib/python3.6/site.py", line 168, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 568, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored
Error processing line 1 of /usr/local/lib/python3.6/site-packages/zope.interface-4.5.0-py3.6-nspkg.pth:

  Traceback (most recent call last):
    File "/usr/local/lib/python3.6/site.py", line 168, in addpackage
      exec(line)
    File "<string>", line 1, in <module>
    File "<frozen importlib._bootstrap>", line 568, in module_from_spec
  AttributeError: 'NoneType' object has no attribute 'loader'

Remainder of file ignored
Hello world!
 今度はうまいこと出力されました。  ちょっと驚くのが、文末に ; がないことだったり、print の文字列の末尾に \n がなかったりすることです。  python の文法では、改行が重要な意味を持つようで。  改行すれば行の終わり。  文字列の終わりも何も指定がなければ、改行になるようです。
 
 
カウンタバックグラウンド