Python 脚本在 Jupyter notebook 中找不到模块文件夹
Python script cannot find module folder in Jupyter notebook
我有一个简单的 Python 脚本。
main.py
try:
from Core.banner import banner
except:
print("Core folder not found")
exit()
Core/banner.py
def banner():
print("I am a banner")
文件夹结构
Core/
__init__.py
banner.py
main.py
当我运行!python main.py
时,它说:
Core folder not found
但我通过 %ls -al
确认 Core/banner.py
存在。
但是,相同的脚本可以 运行 在本地机器上没有问题。
完整的 Jupyter notebook 内容和输出是:
!git clone https://github.com/xxx/myproject.git
cloning into 'myproject'...
remote: Enumerating objects: 82, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 82 (delta 1), reused 10 (delta 1), pack-reused 72
Unpacking objects: 100% (82/82), done.
total 267592
%cd myproject
%ls -al
/home/jovyan/myproject
total 36
drwxr-xr-x 4 jovyan users 4096 Jan 31 01:55 ./
drwxrwxrwx 7 root root 4096 Jan 31 01:55 ../
drwxr-xr-x 2 jovyan users 4096 Jan 31 01:55 Core/
drwxr-xr-x 8 jovyan users 4096 Jan 31 01:55 .git/
-rwxr-xr-x 1 jovyan users 15082 Jan 31 01:55 main.py*
!python main.py
Core folder not found
我错过了什么?
注意:已尝试重启内核。
您正试图将 Core
视为一个模块,但您需要在 Core 下添加一个 __init__.py
文件才能完成此操作:
Core/
__init__.py
banner.py
main.py
我认为您需要在 Core
文件夹中创建一个 __init__.py
文件,然后使用以下代码。
import sys
sys.path.append('./Core/')
它应该是这样的:
try:
import sys
sys.path.append('./Core/')
from Core.banner import banner
except:
print("Core folder not found")
exit()
我有一个简单的 Python 脚本。
main.py
try:
from Core.banner import banner
except:
print("Core folder not found")
exit()
Core/banner.py
def banner():
print("I am a banner")
文件夹结构
Core/
__init__.py
banner.py
main.py
当我运行!python main.py
时,它说:
Core folder not found
但我通过 %ls -al
确认 Core/banner.py
存在。
但是,相同的脚本可以 运行 在本地机器上没有问题。
完整的 Jupyter notebook 内容和输出是:
!git clone https://github.com/xxx/myproject.git
cloning into 'myproject'...
remote: Enumerating objects: 82, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 82 (delta 1), reused 10 (delta 1), pack-reused 72
Unpacking objects: 100% (82/82), done.
total 267592
%cd myproject
%ls -al
/home/jovyan/myproject
total 36
drwxr-xr-x 4 jovyan users 4096 Jan 31 01:55 ./
drwxrwxrwx 7 root root 4096 Jan 31 01:55 ../
drwxr-xr-x 2 jovyan users 4096 Jan 31 01:55 Core/
drwxr-xr-x 8 jovyan users 4096 Jan 31 01:55 .git/
-rwxr-xr-x 1 jovyan users 15082 Jan 31 01:55 main.py*
!python main.py
Core folder not found
我错过了什么?
注意:已尝试重启内核。
您正试图将 Core
视为一个模块,但您需要在 Core 下添加一个 __init__.py
文件才能完成此操作:
Core/
__init__.py
banner.py
main.py
我认为您需要在 Core
文件夹中创建一个 __init__.py
文件,然后使用以下代码。
import sys
sys.path.append('./Core/')
它应该是这样的:
try:
import sys
sys.path.append('./Core/')
from Core.banner import banner
except:
print("Core folder not found")
exit()