scpy2
scpy2 copied to clipboard
请问在Linux中如何启用自定义的魔术命令?
请问每次都要把utils目录拷贝到ipynb的运行目录下并手动导入才可以吗?有什么其他办法可以实现呢?
和Windows下差不多,在PYTHONPATH中添加scpy2目录的上层路径,例如如果scpy2在~/pythonlib/scpy2中,则把~/pythonlib添加进PYTHONPATH变量。然后就可以在.ipython/profile_xxx/startup下添加一个启动代码:
from scpy2.utils.nbmagics import install_magics
install_magics()
del install_magics
不过本书代码只在Windows下调试过,Linux下可能会有些问题,如果出问题了,请继续发issue。
@ruoyu0088 按您说的做,貌似有无法导入_winreg的问题,看来需要改变一些代码,不知道作者有扩展迁移代码到Linux的打算吗?虽然也不影响本书的主干内容貌似……但是书里提供的自定义魔法命令肯定不能直接跑起来了。
我看了一下代码,_winreg是用来读入编译器版本号的,linux下不需要这个。把:
scpy2/utils/__init__.py
中的
from .select_compiler import show_compiler, set_msvc_version, set_compiler
改为无用的函数:
def show_compiler():
pass
def set_msvc_version(_):
pass
def set_compiler(_):
pass
@ruoyu0088 谢谢您的帮助,但是现在的anaconda套件里默认使用jupyter代替了ipython notebook,那么加载自定义魔术方法的函数放在~/.ipython/profile_default/startup
的启动脚本就无效了, 不知如何解决?
在ipython中运行如下命令:
import IPython
IPython.paths.locate_profile()
看看你的profile文件夹是否改变了。我现在用的也是jupyter notebook,magics.py
放到startup
中没有问题的。
我想请问下,下载了scpy2的包放在site-packages文件夹下了,运行第二版书上301页分析DataFrame内存结构代码(from scpy2.common import GraphvizDataFrame)时出错说:No module named tvtk.pipeline.browser
@LinShouWu 你需要tvtk库,或者把scpy2/__init__.py
的第一行注释掉。