簡體   English   中英

Jupyter Notebook-無法從其他文件夾導入python函數

[英]Jupyter notebook - can't import python functions from other folders

我有一個Jupyter筆記本,我想使用計算機中其他文件夾中的本地python函數。 當我確實導入這些功能時,出現以下錯誤:“ ModuleNotFoundError:沒有名為'xxxxxxxxxxxxx'的模塊

  • 我正在使用anaconda作為python解釋器

您可以使用sys將路徑添加到本地模塊/ python文件。

import sys
sys.path.append("/path/to/file/")  # path contains python_file.py

import python_file

如果您想要通過將模塊添加到Anaconda路徑來獲得更永久的解決方案,請參閱cord-kaldemeyer https://stackoverflow.com/a/37008663/7019148的先前答案。 為完整起見,復制以下內容:

我在Anaconda論壇中找到了兩個問題的答案:

1.)將模塊放入站點包中,即目錄$ HOME / path / to / anaconda / lib / pythonX.X / site-packages中,該目錄始終位於sys.path中。 這也應該通過創建符號鏈接來起作用。

2.)將.pth文件添加到目錄$ HOME / path / to / anaconda / lib / pythonX.X / site-packages。 可以命名為任何名稱(只需以.pth結尾)。 .pth文件只是用換行符分隔的目錄完整路徑名列表,該目錄將在Python啟動時添加到您的路徑中。

兩者都很簡單,我選擇了第二個選項,因為它更靈活。

***更新:

3.)在軟件包的文件夾中創建setup.py並使用pip install -e / path / to / package進行安裝,這是我的觀點,這是最干凈的選項,因為您還可以使用pip列表查看所有安裝。

不管怎么說,還是要謝謝你!

看起來,在python 2.7上可以使用,但是在python 3上會出現一些錯誤...

如果您在其他文件中編寫了某些功能,則需要導入該文件。 如果此文件在同一文件夾中-很好。 但是如果在子文件夾中...在子文件夾中,您需要創建一個空文件init .py
現在,如果您嘗試從子文件導入模塊-也可以使用

無能為力(對於python 3)
使用此代碼

 import os import sys sys.path.append(os.getcwd() + '/modules') import my_module 

如果還沒有,請嘗試在代碼中使用該函數的完整路徑名。

from Folder1.Folder2.FileName import ModuleName

someVar = ModuleName(params)

Folder1將是與主程序位於同一目錄中的文件夾。 另外,在導入的每個文件夾中創建一個名為__init__.py的空文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM