pipenvをやめてvenvへ

pipenvで作った環境にはいってpythonスクリプトを実行するシェルスクリプトを書きました
シェルスクリプト単体なら正常に動作するのですが、cron越しだと以下の通りエラーがでました

cd /User/takuto/pytho_1/weather_pop
piping run python weather_pop.py

atc.hateblo.jp


Error_1

Permission denied

これは権限がないとのことなので、$ chmod +xで当該.shに権限を付与
続いてのエラー

Error_2

make: pipenv: Command not found

これはPATHが/usr/bin:/binしか設定されていなかったので、vimPATH=/usr/local/binを追記
続いてのエラー

Error_3

Warning: the which -a system utility is required for Pipenv to find Python installations properly. Please install it.
Error: the command python3 could not be found within PATH or Pipfile's [scripts].

これが全然わからなくて挫折しました
「なんでだ〜〜〜」と頭を抱えながら環境について考え直していたら、私は複数バージョンを使わないのでパッケージ管理さえできる最低限の環境でよいのではと思い、pipenvを削除してvenvに切り替えることにしました
エラーにはpipenvのpipfile'sがなにか影響してるっぽいので、venvに変えちゃえば解決するのではと
やっぱ初心者がいろいろなツールに手を出すのはもう控えよう...

pipenvのアンインストール

まずホームディレクトリ下のpytho_1というディレクトリで仮想環境を構築していたので、下記で仮想環境を削除

# virtualenvを削除します  
$ pipenv --rm
Removing virtualenv (/Users/takuto/.local/share/virtualenvs/pytho_1-kjK1izHD)...

# インストールしてたパッケージを全削除します 
$ pipenv uninstall —all-dev
Un-installing [dev-packages]...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
# HomebrewでPipenvをアンインストールしました
$ brew uninstall pipenv
Uninstalling /usr/local/Cellar/pipenv/2018.7.1... (2,111 files, 25.8MB)

venvを使う

$ cd /Users/takuto/python1/weathwe_pop

# 仮想環境を作成
$ python3 -m venv venv  #後者の`venv`がディレクトリ名

# 仮想環境に入る
$ source /venv/bin/activate.fish #fishを使ってるため

# pythonのバージョン確認とスクリプトの実行  
$python —version
python3.7.0
$ python weather_pop.py  #実行された

weather_pop.pyをcronで動かす

まずシェルスクリプトを書きます

PYTHON=/Usres/takuto/python1/weather_pop
source PYTHON/venv/bin/activate
python3 $PYTHON/weather_pop.py

crontab -eで設定

30 7 * * * /Usres/takuto/scr/weather_pop.sh

実行されました
pipenvだと動かなかった理由、なんか.shの書き方が悪かったような気がしてきた
わがんねぇな〜オィ〜~~~