问题描述
问题是我无法将 Cython 模块导入 jupyter notebook。我没有任何线索,但想知道这是否与我使用的多个 conda 环境有关。
在 cythonDir
中,我编写了一个 .pyx
文件,其中定义了一个函数,并通过 setup.py
成功编译。奇怪的是,我无法将它导入到我当前的笔记本中,它与 cythonDir
位于同一目录中。我在 parentDir
下将模块导入交互式 python 终端没有问题。
整体目录树:
- parentDir
- notebook.ipynb
- cythonDir
需要注意的一点是,我的 jupyter 安装在 conda env proj
中,并且笔记本正在运行另一个内核(环境)tf2
。 (cython 模块在 tf2
下编译)。
我这样做是为了安装单个 jupyter 并通过在 jupyter 中切换内核来处理不同的环境。
提前致谢!
解决方法
按照我朋友的建议,可以按照this section编写和编译Cython代码in notebook。
这不是答案,而是在 Jupyter notebook 中使用自定义 Cython 模块的替代方法。
,你的 setup.py 在哪里?如果您的包从 parentDir 开始,请尝试遵循此操作(它对我有用):
+ notebok.ipnb
+ parentDir
L--+ setup.py
+ python_src
+-- script.py
+ cython_src
L-- script.pyx
您需要与笔记本的整个包处于同一级别才能导入它。 让我知道它是否有效。