前提と実現したいこと
プログラミング、PC初心者です。
「機械学習を解釈する技術」に記載されているコードを正常に実行したいです!
(macOS Monterey 12.3
python 3.9.7)
本に記載されているコード
import sys import warnings from dataclasses import dataclass from typing import Any # 型ヒント用 from __future__ import annotations # 型ヒント用 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import japanize_matplotlib # matplotlibの日本語表示対応 # 自作モジュール sys.path.append("..") from mli.visualize import get_visualization_setting np.random.seed(42) pd.options.display.float_format = "{:.2f}".format sns.set(**get_visualization_setting()) warnings.simplefilter("ignore") # warningsを非表示に
記載されているコードを実行した時のエラー
ModuleNotFoundError Traceback (most recent call last) /var/folders/gr/t18r0f2934x_rfqfsphwz7180000gn/T/ipykernel_26564/3797085217.py in <module> 13 # 自作モジュール 14 sys.path.append("..") ---> 15 from mli.visualize import get_visualization_setting 16 17 np.random.seed(42) ModuleNotFoundError: No module named 'mli'
試したこと①
conda install mli
エラー①
Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Collecting package metadata (repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. PackagesNotFoundError: The following packages are not available from current channels: - mli Current channels: - https://repo.anaconda.com/pkgs/main/osx-64 - https://repo.anaconda.com/pkgs/main/noarch - https://repo.anaconda.com/pkgs/r/osx-64 - https://repo.anaconda.com/pkgs/r/noarch To search for alternate channels that may provide the conda package you're looking for, navigate to https://anaconda.org and use the search bar at the top of the page. Note: you may need to restart the kernel to use updated packages.
試したこと②
pip install mli
エラー②
ERROR: Could not find a version that satisfies the requirement mli (from versions: none) ERROR: No matching distribution found for mli Note: you may need to restart the kernel to use updated packages.
アプローチが根本的に違うような気がしますが試したことを上に残しました。kernelをrestartしても同じようなエラーが出力されます。
初心者質問で申し訳ないのですが、ご回答いただけたら幸いです!!
追記
使ってるパソコンのOSは何でしょうか?
macOS Monterey バージョン 12.3
python は3.9.7です。答えになっていますでしょうか、、
書籍の15ページの「本書のコードを実行するためのPython環境」や、
https://github.com/ghmagazine/ml_interpret_book
の「動作環境」に、「poetry」を使って環境を作るように書かれてるので、まずは「poetry」のインストールからですね
> macOS Monterey バージョン 12.3
https://python-poetry.org/docs/master/#installing-with-the-official-installer
の「Installation」の「With the official installer」の、
「1 Install Poetry」の「Linux, macOS, Windows (WSL)」と、
「3 Add Poetry to your PATH」を見てください
回答ありがとうございます!
「1 Install Poetry」まではおそらく実行できたと思います。「3 Add Poetry to your PATH」の操作方法なのですが、$HOME/.local/binと入力したところpermission deniedと出てきてしまいます。これに関してはどうしたら良いでしょうか、、
> 「3 Add Poetry to your PATH」
ターミナルで下記を実行して、「poetry」という名前のファイル(コマンド)があるか確認してください
ls -l $HOME/.local/bin
上記が大丈夫なら、
$HOME/.local/bin
を「環境変数PATH」に追加してください
参考
https://qiita.com/k3ntar0/items/eb8cdbd8eba9da388def
【追記】
シェルがzshの場合は、上記Webページの
source ~/.bash_profile
は、下記に読み替えてください
source ~/.zshrc
「ls -l $HOME/.local/bin」を実行したら次のように出力されました。一応poetryというファイルがあるのでこれで大丈夫でしょうか、、
(base) 私のパソコン ~ % ls -l $HOME/.local/bin
total 0
lrwxr-xr-x 1 私の名前 staff 68 8 9 18:51 poetry -> /Users/私の名前/Library/Application Support/pypoetry/venv/bin/poetry
上記が大丈夫な前提ですけれど、
「open ~/.zshrc 」を実行し、.zshrcの中のexport PATH=""の部分を、先ほど参照した「 /Users/私の名前/Library/Application Support/pypoetry/venv/bin」に書き換えレバ良いのでしょうか、、
(export PATH="/Users/私の名前/Library/Application Support/pypoetry/venv/bin/poetry:$PATH")
これを保存した後に「source ~/.zshrc」と入力すれば完了なのは理解しました!ありがとうございます。
> poetryというファイルがあるのでこれで大丈夫でしょうか
大丈夫です
> .zshrcの中のexport PATH=""の部分を
.zshrcに既に何か書かれてたら、そこは触らないで、.zshrcの最後(一番下)に下記を追加すればいいと思います
export PATH=$HOME/.local/bin:$PATH
触ってしまいました、、🥺
下のパスを記録していないのでもう一度戻す(?)ような操作はどうしたらいいでしょうか、
また、「export PATH=$既に書かれているパス/.local/bin:$PATH」のように/.local/binを既に書かれているパスに連結するような操作をすればいいでしょうか
> もう一度戻す(?)ような操作はどうしたらいいでしょうか
.zshrcに既に何か書かれてて、質問者さんが過去にそれを記入した心当たりが無いなら、何かをインストールした時に設定されたとかだと思うので、その時と同じことをもう一度やれば戻るかもしれませんが、既に設定済みと判断されてそのままかもしれません
過去に何がそれを記入したのか分からないし、質問者さんが書き換える前にどうだったのか知らないので、どうしたらいいか分かりません
今回間違えて書き換えたところをそのままにしてると、過去にそれを記入した何かの設定がおかしくなり、動作に支障が出るかも
【追記】
Time Machineの設定をしてあるなら、それのバックアップから戻せます
https://support.apple.com/ja-jp/HT201250
> 「export PATH=$既に書かれているパス/.local/bin:$PATH」のように
「$PATH」に、既に設定されてるパスが全部入ってるので、下記を.zshrcの一番最後に書けば、既に設定されてるパスの前に追加されます
export PATH=$HOME/.local/bin:$PATH
本当に丁寧にありがとうございます。。なんとか直せて最後まで実行できました!
jbpb0さんにベストアンサーとしたいのですが、質問への追記・修正依頼に回答されている場合はどうすればいいのでしょう、
> from mli.visualize import get_visualization_setting
が
> No module named 'mli'
が出ずに正常に実行できるようになったのでしょうか?
はい。悪あがきでパスをたまたま打ち込んでいたことにより修正できました。
次回から変更部分をメモしたり気をつけたいと思います。あとTime Machineを利用したいと思いました、、
その後は意外とすんなりいけました。一応、私の質問の最後に正常に動いたところを載せておきました。
回答1件
あなたの回答
tips
プレビュー
