【Python環境構築】環境変数について解説!

2024.01.31
Python環境変数について解説

本記事は、Pythonの二種類の「環境変数」について書いています。Pythonコマンドを実行してPATHが見つからないと言われた場合やライブラリやモジュール等をインポートできない場合の対処方法について解説していきます。

Pythonと環境変数

PCPythonで設定する「環境変数」には二種類あります。一つは環境変数「PATH」の設定です。こちらは、コマンドプロンプトやターミナルでPythonコマンドを実行して「PATHが見つからない」とエラーが出た場合に設定します。もう一つは「PYTHONPATH」です。Pythonコマンドは通っても、プログラムやインタプリタからモジュール等をインポートできない場合に設定します。それぞれの設定方法について、以下にまとめました。

Python自体の環境変数の設定

パソコンコマンドプロンプトやターミナルなどからPythonを呼び出すとき、PythonコマンドのPATHが環境変数に設定されている必要があります。
環境変数が設定されていない場合は、PATHが見つからないといったエラーが表示されることがあります。PATHの設定がされていない場合は、ターミナルが呼び出されたコマンドの場所がわからないため、コマンドを実行することができません。

コマンドのあるフォルダに移動して呼び出す場合は問題ありませんが、プログラムのある場所などからpythonを呼び出すケースは多く、その際に任意のフォルダから起動できないのは大変不便です。以下では、WindowsLinuxの場合でのPATHの通し方を解説します。

Windowsの場合

通常Windowsの場合はインストーラーからインストールする時にPATHを加える設定にしてインストールすれば手動で設定する必要はありません。
もしインストールしていない状態であれば、インストーラーの以下画面から、“Add Python 3.x to PATH”をチェック(画像の①)して「→Install now」をクリック(画像の②)することで、インストーラーが環境変数への設定を行うことができます。
Windowsの場合、正常にPythonをインストールしてPATHが設定されているかどうかは、コマンドプロンプトやPowerShellで「python」コマンドを打つことで確認できます。以下の画像は正常にインストールできたときに、コマンドプロンプトからPythonインタプリタを起動した場合の画面です。

pathが正しく通っていない場合は、以下のようなエラーが表示されます。

このような場合は以下の手順で設定します。画像はWindows10の場合の例になります。

まず、インストール先のフォルダを探します。


タスクバーの左端にある検索ボックスに「アプリ:python」と入力(画像の①)し、検索候補の中でPATHを設定したいバージョンのPythonのデスクトップアプリを右クリックします。
ここで検索ボックスがない場合は、タスクバーの空いている箇所を右クリック>Cortana>検索ボックスを表示(B)で検索ボックスを表示できます。


「ファイルの場所を開く」をクリックします。


Python本体のショートカットを右クリックし、プロパティを選択して開きます。


ファイルの場所を開く(E)をクリックします。


さきほど開いた先のフォルダがPATHを追加するアドレスになります。python.exeがPythonコマンドの実態です。
また、直下の「Scripts」フォルダにはPythonのパッケージ管理システム等が入っているため、ついでにPATHに追加しておきます。
この例の場合では、以下を追加することになります。
C:\Users\user_name\AppData\Local\Programs\Python\Python37-32
C:\Users\user_name\AppData\Local\Programs\Python\Python37-32\Scripts

Pythonの実行プログラムなどはPythonをインストールしたディレクトリに格納されていますどのディレクトリからでもPythonを起動するには、今回Pythonをインストールした「C:\pg\Python36\」ディレクトリに対してPATHを設定します。

先ほどと同じ手順で「C:\pg\Python36\Scripts\」を追加して下さい。

Linuxの場合

Linuxで元々Pythonがプリインストールされている場合はPATHもすでに設定されていて、ターミナルから起動されたときにプリインストールされている場所からコマンドを探すことがあります。この場合も手動での設定は不要です。
Linuxの場合、正常にPythonをインストールしてPATHが設定されているかどうかは、ターミナルで「python」コマンドを打つことで確認できます以下の画像は正常にインストールできたときに、UbuntuのターミナルからPythonインタプリタを起動した場合の画面です。
通常pythonはデフォルトの場合「/usr/bin/」などにインストールされています。
もしPATHが設定されておらず、Pythonコマンドが見つからないとエラーが出る場合は以下の手順で設定します。

ターミナルを起動し、ログインシェルがbashの場合は~/.bash_profileを、zshの場合は~/.zshenvをvi等のエディタで下記のように追記します。
(bash/zshが分からない場合は、echo $SHELLでどちらのログインシェルか確認してください。)

下記の例は、コマンドが存在する場所を「/usr/bin/」とした場合の例です。現在設定されているPATHに追加する形(「$PATH:」の記述部分)で設定します。

export PATH=$PATH:"/usr/bin/"

設定した内容を反映するには、ターミナルを再起動するか下記のコマンドを実行します。

・bashの場合

source ~/.bash_profile

・zshの場合

source ~/.zshenv

Pythonモジュールの環境変数の設定

老眼ターミナル等で「python」コマンドを実行すると正常にPythonを起動できるのに、pythonで書いたプログラムやインタプリタ等で「import xxx(モジュール名)」と書いた際に、以下のように「モジュールが見つからない」とのエラーが出る場合があります。
以下はインタプリタからimportを試みた場合です。


>>> import mymodule
Traceback (most recent call last):
  File "", line 1, in 
ModuleNotFoundError: No module named 'mymodule'
>>>

この場合、モジュールをインポートする前にモジュールのある場所(上記の例ではモジュールmymoduleの格納フォルダやディレクトリ)をプログラムやインタプリタで検索できるようにしておく必要があります。これには、以下の二通りの方法があります。

  • import前に、sys.pathにモジュール検索パスを追加しておく
  • 環境変数PYTHONPATHにPATHを追加しておく

sys.pathを使う場合(プログラム内だけで有効)

プログラム内もしくはインタプリタでimportする前にsys.pathでモジュール検索パスを追加する方法です。標準ライブラリのsysモジュールのsys.pathというリストオブジェクトに格納されています。プログラムやインタプリタでsysをインポート後、print(sys.path)でその時点のモジュール検索パスの一覧が出力されます。
以下はPythonインタプリタで実行した例です。プログラム内に同様の記述をしても実行できます。


>>> import sys
>>> print(sys.path)

先ほど述べたように、sys.pathはリストオブジェクトのためappend()メソッドでリストに追加することで、新たに検索パスを追加することができます。
例えば、以下のように独自に開発したモジュールを格納場所「C:\Users\user_name\Documents\module」に格納したとします。これを呼び出せるようにします。
※ユニコードエスケープのため、WindowsのPATHは以下の例のように「\」を「\\」とする必要があります。


これをsys.pathに追加してインポートすると以下のようになります。


>>> import sys
>>> sys.path.append('C:\\Users\\user_name\\Documents\\module')
>>> import mymodule

これでさきほどのエラーがでなくなりました。

この方法は、プログラム内や一回のインタプリタ起動でのみ有効です。恒久的に杭化するのであれば次の環境変数PYTHONPATHを使う方法を参照して下さい。

環境変数PYTHONPATHを使う方法

頻繁に呼び出すモジュールの場合はプログラムごとやインタプリタでの対話ごとに検索パスを追加するのは非効率です。恒久的にモジュールを実行できるようにするには、対象のモジュール格納場所を環境変数PYTHONPATHに設定します。PYTHONPATHの設定は、前の方の「Python自体の環境変数の設定」の章で説明したPATHの設定をPYTHONPATHに読み替えて行ってください。

Pythonが起動しない!?そんなときのPATH(パス)設定の確認方法を解説

まとめ

本記事では、python自体の環境変数やモジュールの環境変数の設定について書きました。Pythonコマンドを実行してPATHが見つからないと言われた場合や、インタプリタやプログラムなどからライブラリやモジュール等をインポートできない場合は、Pythonの環境変数にPATHやPYTHONPATHにPythonコマンドやモジュールの格納場所を追加します。

本記事に出るようなエラーが表示された時は本記事の内容を試してみてください。

また、Pythonの勉強方法などについて詳しく知りたい場合は以下の記事をご覧ください。

\プログラミングスクールを比較/

DMM WEBCAMP

COACHTECH

RUNTEQ

DMM WEBCAMP COACHTECH RUNTEQ
目指せる姿 WEBエンジニアへの転職
フリーランスエンジニア WEBエンジニアへの転職
分割払い
補助金 ×
転職保証 × ×
受講期間 12週間〜 3ヶ月〜 5ヶ月〜
特徴 【IT業界の転職を一番に考えたい方向け】
大手DMMが運営のプログラミングスクール
転職成功率98.8%
豊富なキャンペーンや補助金制度あり
【フリーランスを目指したい方向け】
フリーランスのエンジニアを最短で目指す
エンジニアと共に実際の案件開発を担当
【とことん勉強してから転職したい方向け】
1,000時間(約9カ月)のカリキュラムでしっかり勉強
企業の求める即戦力のWEBエンジニアを目指す
料金 329,350円〜
※給付金適用後
42万9,000円~ 55万円

公式HP

公式HP

公式HP

関連記事

資料請求

  • 短期集中で最速エンジニア転職を実現-転職成功者インタビュー一覧

    DMM WEBCAMPでは転職成功率98%を実現しています。本資料では、元警察官や元ラーメン屋など様々なバックグラウンドを持つ卒業生の声をお届けします。

    資料をダウンロードする
  • IT技術がもたらす3つの変化と身につけるべきスキル

    IT技術の発展により、今後10~20年程度で47%の仕事がなくなると言われています。どのような変化が訪れ、私達はどのようなスキルを身につけるべきかを解説します。

    資料をダウンロードする
  • 未経験がフリーランスエンジニアになる方法-年収アップで自由な働き方を手に入れる

    働き方改革やリモートワークの影響でフリーランスという働き方の人気は高まりつつあります。フリーランスエンジニアとして活躍するために必要な情報をお届けします。

    資料をダウンロードする

© 2024 WEBCAMP MEDIA Powered by AFFINGER5