スキップしてメイン コンテンツに移動

仮想環境 on python3

サポートが2020年1月1日に終わり、python2 の寿命は尽きた。
python3とは互換性が無いため、python3への移行はなかなか進まなかった。

pythonは人気のある言語であったので、
制作された多くのソフトウェア資産がpython2であったことが移行が遅くなった理由だろう。

ここでは学習用の python3 環境を構築する手順を記しておく。


pythonの導入確認

まず、python3 が導入されているかを確認する。
次のコマンドでバージョンが表示される。
$ python3 -V
Python 3.7.3

コマンドはpythonでもいいが、ver.2系とver.3系の両方がある場合、2系を指す場合があるため注意。
$ python -V
Python 2.7.16

入っていないのなら公式サイトからダウンロードするか、
aptやyumを用いてインストールを行う。
パッケージ管理コマンド dnf は python3 で作られているので
dnf が入っていればpython3は導入済みである。



pythonスクリプトの実行

pythonのスクリプトを実行するには幾つかの方法がある。
  • インタラクティブモード
  • pythonコマンドで実行
  • スクリプトを直接実行

インタラクティブモード

簡易的なプログラムの実行に用いる。
コマンドラインでpython3を直接実行することでインタラクティブモードに移行する。
$ python3
Python 3.7.3 (default, Dec 20 2019, 18:57:59) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello, world.")
Hello, world.
>>> 
上記例ではprintコマンドで Hello, world. を表示している。

スクリプトを実行

スクリプトファイル hello.py を実行するには次のように行う。
$ python3 hello.py
又は、shebang(シバン) をスクリプトの一行目に書き、次のように直接実行する。
$ ./hello.py
この時、shebang は #!/usr/bin/env python3 のような文であり、
次のようにファイル先頭に書き込む。
$ cat hello.py 
#!/usr/bin/env python3
print ( "hello, world" )

モジュールのインストール

予め便利なコードを他の人が作っていて、それを追加することでその恩恵にあずかれる。
モジュールはpythonに標準で付属している標準ライブラリがあるが、それ以外のモジュールも有りそれを利用することも出来る。
公式に運営されているモジュール公開サイトが有りここから探すことが出来る。

Python Package Index https://pypi.org/

インストール用のプログラム pip3 が準備されているためこれを利用すると簡単にインストールできる。
$ pip3 install module名
システムにモジュールがインストールされる為、仮想的な環境を作りここにインストールすることも出来る。

pythonの仮想環境

pythonに仮想環境を作る仕組みがある。

仮想環境の作成


次のコマンドで 最後の引数にあるディレクトリに仮想環境を作る。
$ python3 -m venv /path/to/new/virtual/environment

次のコマンドで仮想環境に変更出来る。
$ source /path/to/new/virtual/environment/bin/activate
このコマンドはbashを利用している時の方法であり、
binディレクトリ内にcsh用のコマンドも用意されている。

この仮想環境家でモジュールをインストールすれば
environment内にモジュールが配置される。

コメント

このブログの人気の投稿

Ubuntu で RAIDディスクをマウントする

謎のHDDが見つかった。 データを確認するためWindowsにつなぐもマウントされず。 これは extとかffsの辺りかなと思い、Linux(Ubuntu)に繋ぐ。 しかし、自動マウントされない。 取り敢えずマウントする。 # mount /dev/sdb1 /mnt/disk すると'linux_raid_member'とエラー表示された。 ということで、まずファイルシステムを確認。 # parted -l このコマンドでファイルシステムが表示される。 また、Gparted でも表示される。 そこでRAIDディスクを扱うためにmdadmパッケージをインストール。 # apt install mdadm ネットでは mountコマンドの -t オプションで明示的にファイルシステムを指定するとマウントできると書いてあったのでそれを試すとマウントできた。 # mount -t ext3 /dev/sdb1 /mnt/disk 内容を確認すると不要なデータだったのでデータを削除する。 # shred -v /deb/sdb この処理はとても時間がかかるので普段使わないコンピュータで処理をした。

自動ログイン on Lubuntu

Lubuntu 19.04 の 自動ログインを設定してみた。 グラフィカルログインを自動で行うようにしたいが、 ユーザー設定 の中に自動ログインの設定がない。 そこでコマンドラインから設定してみた。 まず、ログインをするときに使用しているディスプレイマネージャを確認する。 $ cat /etc/X11/default-display-manager /usr/bin/sddm sddm を使っているので、sddm の自動ログインを設定する。 OSは systemd で動いていると設定ファイルがないようなので作成する。 # sddm --example-config > /etc/sddm.conf.d/sddm.conf この設定ファイルに Autologin について書いてあるのでここにユーザ名を入力。 $ head /etc/sddm.conf.d/sddm.conf [Autologin] # Whether sddm should automatically log back into sessions when they exit Relogin=false # Name of session file for autologin session (if empty try last logged in) Session= # Username for autologin session User= ここの User= にユーザ名を書き込み保存後、再起動すると自動でログインされる。

TVに繋いでいた録画用HDDが認識しなくなった

ポロポロとものが壊れていく。 年数もそれなりに経っているので仕方がないと思うが、  Panasonic VIERA TH-L32X3  メーカーページ http://panasonic.jp/viera/p-db/TH-L32X3.html 上記VIERAに繋いでいた録画用のHDDが急に認識しなくなった。 実はこれで二回目のトラブルである。 一回目は買って1年ほどでこの症状が出た。 この時はHDDが物理的な障害で故障したと思い、ダメ元で再接続再フォーマットした。 このHDDはそのあと5年以上正常に動作していた。 結局この時の障害は論理障害だったのだと思う。 今回も同様の症状だったので、復旧を試みることにした。 こちらのサイトに Panasonic製のセットトップボックスへ繋いでいたHDDの修復について書いてあった。 Panasonic CATV STBの外付けHDDのファイルシステム修復 おぼえ書き http://qiita.com/a_saitoh/items/93a9983b988b541d2cb1 これを参考にして、FreeBSD11.0( https://www.freebsd.org/ja/ ) に外付けHDDを繋いで、fsck_ffs -n を実行するも復旧せず。 仕方がないので、fsck_ffs -y や fsck_ufs -n 、 fsck_ufs -y などをかけてからTVにつなぐと認識した。 録画データは諦めていたので、いろんなコマンドをかけてしまったので、 どのコマンドが良かったかはっきりとしないが、 無事にデータが参照できるようになった。