Python

Pythonでフォルダにパスを通す方法 PYTHONPATHの編集

PYTHONPATH備忘録

フォルダにパスを通すには、

.zshrcまたは.zprofile.のファイルに

export PYTHONPATH=”$PYTHONPATH:パスを通したいフォルダ名

と書き加える。

1.フォルダにパスを通すという事

Pythonのスクリプトが増えたら、データ解析とフォルダに分けるべきです。。
いちいちデータ解析フォルダに使用するスクリプトを入れると混乱してしまうし、
同じ名前のスクリプトが増えてしまうからです。

こんなイメージになります。

スクリプトを使うために、対話型モードをこのフォルダ内で実行します。
ファイルが増えるとデータ解析ファイルとスクリプトが同じフォルダにたくさんあると混乱しやすいです。

よく使うスクリプトや関数をフォルダにまとめておき、
データ解析のフォルダからインポートできるようにしておきます。

この方がフォルダごとに分けられて便利です。

2.パスを通す

例として、デスクトップに「script」というフォルダを作り、ここにパスを通します。

言い換えるとデフォルトで他のフォルダから、中のpythonスクリプトにアクセスできるようにします。

最初にデスクトップに「script」というフォルダをつくります。

フォルダ内に、「hello.py」として下のようなドキュメントを保存しておきます。

print(“Hello World!!”)

対話型のシェル(ターミナル)からPythonで実行するとなると、

~ % python /Users/programming_surgeon/Desktop/script/hello.py

と絶対パスで実行するファイルを指定すれば

Hello World!!

とでます。

pythonプログラムの実行には対話型シェルが便利です。
ターミナルでpythonまたはipythonと入れると出てくるやつです。

しかし、対話型で

import hello

と入力しても、

「そんなファイルありませんよ」
と表示されてしまいます。

この時点ではscript内のhello.pyファイルにパスが通っていないからです。

パスを編集するために対話モードからいったん出ます。
シェル(ターミナル)の中で

echo $PYTHONPATH

と入力すると、pythonに通っているパスが読めます。
この時点では何もパスが表示されないか、すでにパスが通っているフォルダのみ表示されます。

この情報は 「.zshrc」なければ「.zprofile」で指定できます。
これらのファイルは隠しファイルになっているので、
シェル(ターミナル)を開いたときのまま、
ls -a
と入力すると隠しファイルも含めて存在するファイルが確認できます。

ターミナルを開いた時に-zshではなく、-bashと表示される場合は

「.bashrc」または「.bash_profile」

というファイルに記載できます。

このファイルを書き換えてやればよいわけです。
シェルの中で「vi」と記載しても編集できますが、
ここではテキストエディタ「mi」を使って編集します。

open -a テキストエディタアプリの絶対パス .zshrc

と入力します。アプリケーションの絶対パスはアイコンをターミナルにドラッグしてやると出てきます。

このあとに「.zshrc」と入力すると、テキストエディタmiで.zshrcを開けいます。
これで表示されるのが.zshrcの中身です。

慣れないうちは編集する前に必ずバックアップをとっておいた方がよいです。

文法を間違えたりすると、ターミナルを開くたびにエラーがおきたりします。

このテキストファイルを編集します。

一番上に

export PYTHONPATH=”$PYTHONPATH:パスを通したいフォルダ”

と記載して、上書き保存します。

ターミナルを再起動するか

source ~/.zshrc

とすると情報が反映されるので

echo $PYTHONPATH

と入れるとパスが通っているのがわかります。

確認のため対話型シェルで

import hello

とすると

Hello World!!

とでて無事にパスが通っていることがわかります。