IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

ゼロから歩くPythonの道

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第45回 Python環境設定、ディレクトリと関連コマンドについて学んでみた (菱沼佑香) 2023年10月

こんにちは、吉政創成 菱沼です。
今回も「きれいなPythonプログラミング(マイナビ出版)」という書籍を利用して学習します。

さて、前回から2章に入り、「環境設定とコマンドライン」について学習することになります。
前回はシステムの基本的なことを振り返りつつ、Pythonでのパス操作に使われるpathlibという標準モジュールについて学習しました。
今回は絶対パス・相対パスについてとコマンドラインあたりのお話です。

ディレクトリーのパスを指定するなら絶対パスか相対パス

この言葉自体は聞いたことがある方が多いと思いますし、そのまま受け入れるものなので、テキストをそのまま。

------
P.20、21
ファイルパスの指定には2つの方法があります。

  • 絶対パス:常にルートフォルダーから始まる
  • 相対パス:cwdからのパス

またドット(.)やドットドット(..)というフォルダーもあります。これらは実際のフォルダーではなく、パスに使用できる特別な名前です。ピリオド1つのフォルダー名は、「このディレクトリー」を意味します。ピリオド2つ(..)は「親フォルダー」を意味します。
-----

ここでテキストに図が入っているのですが、前回の例を基に簡易的なものを作成したので一応載せておきます。

fig01

※忘れている方のために:cwdはカレントディレクトリー(現在滞在中のディレクトリー)の略です。

プログラムとプロセスについて

ここからはプログラムとプロセス、コマンドラインについてです。ほとんど読み物になりますが、コマンドラインはプログラムの実行やインストールにも使用しますので確認をしておいてもらえればと思います。

-----
P.21
プログラムとプロセス
ウェブブラウザ、表計算アプリ、ワープロソフトなどのソフトウェアアプリケーションのことを、プログラムと言います。また、実行中のプログラムのことをプロセスと言います。
同じプロセスを実行していても、プロセスは互いに独立しています。例えば、Pythonのプログラムを複数同時に実行した場合、各プロセスは別々の変数値を持つことになります。すべてのプロセスは、同じプログラムを実行するプロセスであっても、独自のcwdと環境変数の設定を持っています。一般的に、コマンドラインは一度に1つのプロセスしか実行しません(ただし、複数のコマンドラインを同時に開くことはできます)。
-----

PCが遅いなー、Excelがフリーズしたなーなどと思ったとき、タスクマネージャーを起動してアプリを強制終了させたことがある人は多いと思います。タスクマネージャーで確認できるのがアプリの一覧と起動しているアプリのプロセスです。
タスクマネージャーの起動はWindowsならctrl+shift+ESCです。

fig02

コマンドラインについて

では次にコマンドラインについてです。
そう。あの黒い画面です。ライブラリのインストールなんかで使われた方は多いと思います。

-----
P.22
コマンドライン
コマンドラインはテキストベースのプログラムで、コマンドを入力してOSを操作したり、プログラムを実行したりすることが出来ます。コマンドラインインターフェイス(CLI)、コマンドプロンプト、ターミナル、シェル、コンソールなどと呼ばれることもあります。他にはグラフィカル・ユーザー・インターフェイス(GUI)があり、ユーザーはテキストベース以外のインターフェイスを使ってコンピューターと対話することが出来ます。GUIでは、コマンドラインよりも簡単にタスクを実行できるよう、視覚的な情報をユーザーに提供します。
(中略)
コマンドラインを使いこなせるようになるとよいこともあります。環境を整えるためには、グラフィカルなウィンドウではなく、コマンドラインを使わなければならないことが多いからです。また、コマンドの入力はグラフィカルなウィンドウをマウスでクリックするよりもはるかに高速です。
(中略)
複数の特定のコマンドを組み合わせてスクリプトを作成し、高度な操作を行うことができるので、自動化に適しています。
コマンドラインプログラムは、コンピューター上の実行ファイルの中に存在します。このようなプログラムを、シェルまたはシェルプログラムと呼ぶことが多いです。シェルプログラムを実行すると、ターミナルウィンドウが表示されます。シェルプログラムは、

  • Windowsの場合、C:\Windows\System32\cmd.exe
  • macOSの場合、/bin/bash
  • Ubuntu Linuxの場合、/bin/bash

にあります。
-----

Windowsの場合は検索のところにcmdで起動します。macOSはspotlightにterminalを入力・実行で起動するそうです。
この画面でコマンドを入力すると様々な操作ができます。例えばPythonのライブラリ、何をインストールしてたかなーというのは、「pip list」と入力するとこんな感じで確認できます。ちなみに「pip」はPythonの代表的なインストーラーのひとつです。

fig03

アップデートできるものもあるよというのも表示されてますね。ついでなので、このアップデートをやってみます。
ところで2行目にアプデするならこれを使え的に書いてあるんですが、こんなの前にはなかったような...?とりあえず試しにこれを打ち込んでみました。

fig04

祝・成功。

コマンドラインでプログラムの実行、Pythonプログラムも実行できる

個人的にはインストール以外でコマンドラインにお世話になることはあまりありませんでした。IPアドレスを調べるくらいでしか使ったことはなかったと思います。
とはいえ、コマンドで出来ることはこれ以外にもいっぱいあります。

-----
P.24
プログラムやコマンドを実行するには、コマンドラインにコマンド名を入力します。練習としてOSに付属する電卓プログラムを実行してみましょう。

  • Windowsの場合、calc.exeと入力する
  • macOSでは、open -a Calculatorと入力する(厳密には、openというプログラムを実行し、それがCalculatorを起動している)
  • Linuxでは、gnome-calculatorと入力する

プログラム名やコマンドはLinuxでは大文字と小文字を区別しますが、WindowsやmacOSでは大文字と小文字を区別しません。
(中略)
コマンドラインでプログラム名を入力すると、シェルはPATHに記載されているフォルダーにその名前のプログラムが存在するかどうかを確認します。Windowsでは、シェルはPATHのフォルダーを確認する前に、(プロンプトに表示される)cwdの中からプログラムを探します。macOSやLinuxのコマンドラインで、最初にcwdを確認するように指示するには、ファイルの前に./を入力します。
プログラムがPathに記載されているフォルダーに入っていない場合、2つの選択肢があります。

  • cdコマンドでcwdをプログラムの入っているフォルダーに変更し、プログラム名を入力する
  • 実行プログラムファイルのフルパスを入力する
-----

というわけで実際に入力してみると確かに電卓が起動しました。これと同じようにコマンドプロンプトでPythonのプログラムを実行することもできます。Pythonプログラムの実行については次回以降で確認したいと思います。

cd [ディレクトリー名]でカレントディレクトリーを移動

ちなみに引用文中に出てきている「cd」ですが、これはディレクトリー変更に使うコマンドです。例えばこんな感じで使用します。

fig05

この画像では、当初いたUsersというディレクトリーから、まずは絶対パスで2つ下のDocumentsディレクトリーに移動しました。その後、相対パスで一つ上のディレクトリーに移動、さらにその後に相対パスで一つ上のUsersのディレクトリーに移動しています。
Pythonプログラムの中でカレントディレクトリーを移動させたい場合は前回の記事でpathlibというモジュールを利用していますので、そちらをご参照ください。

というわけで今回はきりが良さそうなのでここで終了します。
読むだけがほとんどで恐縮です。。しばらくはコマンドラインの使い方について学習していくことになります。引き続きお付き合いいただけますと幸いです。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes