terasima712
@terasima712 (ゆき 寺島)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

sklearnのPATHを通したい。

ModuleNotFoundError: No module named 'sklearn'が出るため、anacondaをインストールしてsklearnをインストールしました。
anacondaはインストールできているのですが、パスが通っていないようで見にいけません。
この場合、/Users/username/anaconda3内にあるscikit-learnをターミナルから「python3 ファイル名.py」を起動して利用するためにはどのようにするべきでしょうか?ファイル名.pyでは、scilit-learnをimportしています。

発生している問題・エラー


conda list scikit-learn
# packages in environment at /Users/username/anaconda3:
#
# Name                    Version                   Build  Channel
scikit-learn              1.3.0           py311h7aedaa7_0  

% python3
Python 3.11.4 (main, Jul 25 2023, 16:35:02) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> import pprint
>>> pprint.pprint(sys.path)
['',
 '/opt/homebrew/Cellar/python@3.11/3.11.4_1/Frameworks/Python.framework/Versions/3.11/lib/python311.zip',
 '/opt/homebrew/Cellar/python@3.11/3.11.4_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11',
 '/opt/homebrew/Cellar/python@3.11/3.11.4_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload',
 '/opt/homebrew/lib/python3.11/site-packages',
 '/opt/homebrew/Cellar/pybind11/2.11.1/libexec/lib/python3.11/site-packages']
0

1Answer

パスの追加は↓これでできますが、
sys.path.append('/Users/username/anaconda3')
そういうことじゃない?

0Like

Comments

  1. @terasima712

    Questioner

    これをどこに追加するべきなのかわからなくて困っています。ファイル名.pyの中に書いてみたのですが、何も起こりませんでした

  2. これをどこに追加するべきなのかわからなくて困っています

    import sklearnより前に書く

    ファイル名.pyの中に書いてみたのですが、何も起こりませんでした

    import sklearnはできたということ?

  3. @terasima712

    Questioner

    import os
    import sys
    
    sys.path.append('/Users/username/anaconda3')
    
    import numpy as np
    import pandas as pd
    import sklearn
    ...
    

    ファイルの先頭をこのようにして実行しても

    % python3 ADMM.py
    Traceback (most recent call last):
      File "/Users/username/Desktop/network_fashion/ADMM.py", line 9, in <module>
        import sklearn
    ModuleNotFoundError: No module named 'sklearn'
    

    このようにModuleNotFoundErrorになります。

  4. まだパスが不足しているか?、/Users/username/anaconda3が違うのか?

    tree /Users/username/anaconda3 の結果を見せてください。

  5. @terasima712

    Questioner

    ものすごく長くてコピペできませんでした、すみません。
    何をファイルとして見つければ良いですか?

  6. ものすごく長くて

    -f ではなく、-dでした。

    /bin/scriptsで終わる、パスが何個か存在していると思います。
    それらもすべてsys.path.append()したら、どうなりますかね?

  7. @terasima712

    Questioner

    tree /Users/username/anaconda3 -d
    
    tree /Users/username/anaconda3 -f
    

    両方試しましたが、出力はやはり非常に長かったです

    /binや/scriptsで終わる、パスが何個か存在していると思います。
    それらもすべてsys.path.append()したら、どうなりますかね?

    /Users/username/anaconda3/binや/Users/username/anaconda3/scriptは存在しますが(木で言うと子の部分)、長すぎて全部確認するのが難しそうです...すみません

  8. tree -d /Users/username/anaconda3です。すみません。サブフォルダの数しか出ないはずです。
    それでも多い場合は、tree -d /Users/username/anaconda3 > xxx.txtとして
    適当なファイルに出力して、テキストエディタでxxx.txtを開いてみてはどうですか?

Your answer might help someone💌