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语句导入所用的方法,并正常使用了 。
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) 。
【Jupyter notebook导入Pycharm项目的.py文件里的模块及方法】
经验总结扩展阅读
- Notebook交互式完成目标检测任务
- Mysql 数据库SQL脚本导入
- 手机联系人的备份方法 华为手机怎么把通讯录导入sim卡
- 苹果照片备份到windows方案 iphone照片导入电脑最好的方式
- 华为手机与iPhone手机的数据迁移教程 华为旧手机怎么导入苹果新手机
- OPPO手机的电话本使用技巧 oppo手机联系人怎么导入sim卡
- 华为手机与苹果手机的数据迁移 把安卓手机通讯录导入苹果手机
- 新旧手机数据的一键迁移 苹果手机电话号码怎么导入新手机
- icloud备份怎么导入新手机(iPhone手机数据迁移的一键操作)
- 安卓手机备份迁移指南 安卓系统怎么导入新手机