尝试将pyx文件导入Jupyter时出现'ImportError:No module named ...'

时间:2019-03-21 14:34:54

标签: python python-3.x jupyter-notebook cython

我将文件em.pyx与Jupyter笔记本放在同一文件夹中,尝试将其导入,但它给了我错误

ImportError: No module named em

我尝试添加

import sys
sys.path.insert(0, 'name_of_directory_where_pyxfile_is')

sys.path.append('my/path/to/module/folder')

如建议的herehere,但我一直遇到相同的错误。我还创建了一个Empy __init__.py文件,但是什么也没有。

编辑:然后我添加了

import pyximport
pyximport.install()

import em之前,现在我从python 2.7中收到很多错误(我不知道为什么python2,因为pyx的编译是使用python3进行的,并且jupyter内核也设置为Python3);前三个是:

ImportError                               Traceback (most recent call     last)
<ipython-input-2-778b3d13b1ae> in <module>()
  2 pyximport.install()
  3 
----> 4 import em1d

/home/me/.local/lib/python2.7/site-packages/pyximport/pyximport.pyc in     load_module(self, fullname)
460                                  self.pyxbuild_dir,
461                                  build_inplace=self.inplace,
--> 462                                      language_level=self.language_level)
463         return module
464 

/home/me/.local/lib/python2.7/site-packages/pyximport/pyximport.pyc in     load_module(name, pyxfilename, pyxbuild_dir, is_package, build_inplace,     language_level, so_path)
231                 raise exc.with_traceback(tb)
232             else:
--> 233                 exec("raise exc, None, tb", {'exc': exc, 'tb': tb})
234     return mod
235 

EDIT2:另外,在运行pyximport.install()后,我得到了(None, None)

1 个答案:

答案 0 :(得分:0)

这是一个简单的解决方案(在我看来)只需使用 cython 编译文件然后尝试