ごちゃついたPythonの環境を整備したい

この記事は最終更新日から1年以上が経過しています。

弊社の新しいプロジェクトが昨日からスタートしたのですが、新しいプロジェクトにPython3 + Djangoを導入する事となりました。

いざPythonだといいながらメンバー間の環境はバラバラで私のmacはアナコンダやらpip、pip3、pyenvやら酷くごちゃついておりました。。

皆で共有するときはnpmみたいな感じがわかりやすいなと思っていたらPipenvというものがあるということがわかりました。

早速インストール!

homebrewでインストールします。

$ brew install pipenv

作業ディレクトリに移動して下記コマンドを打ちました。

$ pipenv install







作業ディレクトリにPipfileとPipfile.lockというファイルができていました。package.jsonみたいなものだろうと予想。

お試しでslackのapiを叩くためのパッケージをインストールします。

$ pipenv install slackclient

そして簡単なプログラムを書きました!

import os
import slack
client = slack.WebClient(token=os.environ['SLACK_TOKEN'])
client.chat_postMessage(
  channel="#general",
  text="燃えよ唐辛子🌶燃える程美味しい!"
)

プログラムの実行

$ pipenv run python hogehoge.py

しかしながら、仮想環境からslackのapiトークンが読み取れないとのエラーが出てしまいました。。

.envに環境変数を記述します。

export SLACK_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

また、pipenvの作る仮想環境は、pcの深いところに作られるとのことで、これではPythonの環境を整備したい本来の目的が達成できないでません。

なので下記の環境変数を指定することで、作業ディレクトリ内に仮想環境がつくられます。

私は自信のmacの.zshrcに記述しました。

$ export PIPENV_VENV_IN_PROJECT=true

ではslackのapiを叩くファイルを実行します。

$ pipenv run python hogehoge.py

成功しました!

pipenvの仮想環境も同じディレクトリに作られていました!

仮想環境に入るには

$ pipenv shell

で抜ける場合は、exitでOKです。

下記が参考にしたドキュメントです。

ここまでお読みいただき、ありがとうございました。