Jupyter notebook导入Pycharm项目种的.py文件里的模块及方法
需要在Jupyter notebook里调用自己写的代码,过程如下 。
首先在Pycharm里写好一个文件,例如DCCACoef_Analysis.py,里面包含一些方法需要在Jupyter中使用,如get_stock_names_from_codes( )等 。
在Jupyter中新开一个笔记本( .ipynb),将要导入的模块文件所在目录加入搜索路径,例如上述的DCCACoef_Analysis.py文件 , Pycharm把它放在“C:\Users\Administrator\PycharmProjects\python37withGlobalPackageProject1”这个目录下,代码如下:
import sysif 'C:\\Users\\Administrator\\PycharmProjects\\python37withGlobalPackageProject1' not in sys.path:sys.path.append('C:\\Users\\Administrator\\PycharmProjects\\python37withGlobalPackageProject1')
代码里做了判断,是否已经有Pycharm项目路径,没有则加入
可以用
print(sys.path)
查看并验证是否正确加入了系统搜索路径 。这之后,就可以使用import语句导入所用的方法,并正常使用了 。
【Jupyter notebook导入Pycharm项目的.py文件里的模块及方法】from DCCACoef_Analysis import get_stock_names_from_codes
上述过程,有以下注意要点:
(1)在导入模块文件(.py)的开头,需加上如下的文件编码声明:# -*- coding:utf-8 -*-
不加这句话前,有时Jupyter会在载入模块时报了一个奇怪的错误“a bytes-like object is required, not str”,(猜想是Jupyter的编辑器识别Pycharm中编辑的.py代码中的中文出了问题 。)
(2)在模块文件(.py)中作了修改,并不会马上反映到Jupyter中,及时关闭笔记本(.ipynb)的浏览器窗口并重新打开也不行,当然在.py模块文件新加入的方法也无法识别 。
只有将Jupyter的内核重启后,才能再次使用更新后的模块代码(.py) 。
推荐阅读
- Notebook交互式完成目标检测任务
- Mysql 数据库SQL脚本导入
- ps如何导入新的图片 如何将图片导入到ps的图层
- 如何在天猫精灵中导入歌单
- ai自定义快捷键如何导入 AI如何自定义快捷键
- 苹果手机同学录怎么导入sim卡
- 怎么将华为手机里的照片导入电脑 怎么把华为手机里的照片导入电脑
- 女娲造人教案内容分析 女娲造人教案内容
- 换手机后如何将通讯录导入新手机
- 教你把歌导入库乐队设置铃声 苹果12如何设置自己的铃声歌曲