«ImportError: модуль без имени ...» при попытке импортировать файл pyx в Jupyter - PullRequest
1 голос
/ 21 марта 2019

У меня есть этот файл 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')

как предложено здесь и здесь , но я продолжаю получать ту же ошибку.Я также создал файл 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)

...