簡體   English   中英

在 jupyter notebook 中導入本地模塊

[英]Import local module in jupyter notebook

關於導入本地創建的模塊的一個非常基本的問題。

我無法導入本地創建的模塊。 模塊存在於當前工作目錄中

在此處輸入圖片說明

在此處輸入圖片說明

我錯過了什么嗎?

%%capture
%run myModule.ipynb

您將獲得 myModule 文件中定義的所有函數/變量。 這也將覆蓋您當前筆記本的變量,但

from Mymodule import person

也有這個效果。

import os 
#if you want to know current working dir
os.getcwd()
#if you want to change
os.chdir('G:/a-2017-master')
# if you want to list dir
os.listdir()

['.DS_Store', '.gitignore', 'cs109a_hw0.ipynb', 'hwassets', 'Labs', 'Lectures', 'Midterms', 'Module.py', 'Projects', 'README.md', '節',' pycache ']

import os
import Module as m 
a = 10
b = 29
print(f"Addition of {a} and {b} : ",m.add(a,b))

我發現本地圖書館名稱必須以大寫字母開頭。 如果我將所有本地文件保存在一個名為Code的文件夾中,我就可以導入它們; 如果它被稱為code ,我不能。 (子文件夾和子文件的名稱似乎不受該限制。)

這似乎是 Jupyter 限制,而不是 Python 限制——從命令行 Python repl 我可以導入我想要的任何本地.py文件。

以下是 W3schools 教程中用於在本地創建模塊的示例:

  1. 在 conda 環境 keras 中,創建 'cookie.py' 模塊並在同一路徑中啟動 jupyter notebook。 然后創建一個名為“Importing_module_locally”的文件。

 (keras) ninjawarrior@ninjas-MBP cookiecutter % pwd /Users/ninjawarrior/miniconda3/environments_files/pythonbasics/Python_Tutorial_w3schools/mymodules/cookiecutter

  1. 確認模塊和 jupyter 筆記本文件在同一路徑上。

 (keras) ninjawarrior@ninjas-MBP cookiecutter % ls -lrt total 16 -rw-r--r-- 1 ninjawarrior staff 46 Oct 12 12:47 cookie.py drwxr-xr-x 3 ninjawarrior staff 96 Oct 12 12:50 __pycache__ -rw-r--r-- 1 ninjawarrior staff 751 Oct 12 12:56 Importing_module_locally.ipynb

  1. 在 cookie.py 中輸入以下內容

 def greeting(name): print("Hello, " + name)

`

  1. 在 Import_module_locally 中輸入以下內容

 import mymodule mymodule.greeting("Jonathan")

結果:你好,喬納森

希望這可以幫助 !

暫無
暫無

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

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