

jupyter notebookにて、自作した関数を入れた.pyファイルをimportしたいのですが、  
importエラーが発生しており、エラー解決方法を教えていただきたいです。  
すみませんが、宜しくおねがいします。

フォルダ構造

(ルート)  
├─read_own_script.ipynb  
├─own_scripts  
│ ├─__init__.py  
│ ├─trans.py

read_own_script.ipynb

[code]

    import sys, os
    from pathlib import Path
    #親ディレクトリのパスを取得,これはJupyter系特有の書き方
    current_dir = os.path.join(Path().resolve())
    # モジュールのあるパスを追加
    sys.path.append(str(current_dir) + '/../')
    from own_scripts import *
    
[/code]

error code

[code]

    ---------------------------------------------------------------------------
    ModuleNotFoundError                       Traceback (most recent call last)
    <ipython-input-2-deb2ae9a92ca> in <module>
          5 # モジュールのあるパスを追加
          6 sys.path.append(str(current_dir) + '/../')
    ----> 7 from own_scripts import *
    
    ModuleNotFoundError: No module named 'own_scripts'
    
[/code]

`__init__.py`

[code]

    from trans import *
    
[/code]

trans.py

[code]

    import pandas as pd
    
    def trans_pd(a, b):
        return a + b
    
[/code]

////////////////////以下追加/////////////////////////  
以下に別途jupyter notebookにてsys.pathのprint出力し、中身を確認したときのコードを確認しました。

[code]

    !pwd
    
[/code]

output  
`/c/Users/punch/Documents/Punch_data_analysis`

[code]

    import sys, os
    from pathlib import Path
    # signalfuncなどのある親ディレクトリのパスを取得
    current_dir = os.path.join(Path().resolve())
    # モジュールのあるパスを追加
    sys.path.append(str(current_dir) + '/../')
    
    print(sys.path)
    from own_scripts import *
    
[/code]

output

[code]

    ['C:\\Users\\punch\\Documents\\Punch_data_analysis', 'C:\\ProgramData\\Anaconda3\\python38.zip', 'C:\\ProgramData\\Anaconda3\\DLLs', 'C:\\ProgramData\\Anaconda3\\lib', 'C:\\ProgramData\\Anaconda3', '', 'C:\\ProgramData\\Anaconda3\\lib\\site-packages', 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32', 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin', 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\punch\\.ipython', 'C:\\Users\\punch\\Documents\\Punch_data_analysis/../']
    ---------------------------------------------------------------------------
    ModuleNotFoundError                       Traceback (most recent call last)
    <ipython-input-2-d83d0f7d85f4> in <module>
          9 
         10 print(sys.path)
    ---> 11 from own_scripts import *
    
    ModuleNotFoundError: No module named 'own_scripts'
    
[/code]


CC BY-SA 4.0
2020-11-09T03:02:08.773
71810
2020-11-18T12:14:56.300
2020-11-18T12:14:56.300
3060
29536
question
python jupyter-notebook
jupyter notebook で自作モジュールの読み込み方法