ImportError: динамический модуль не определяет функцию экспорта модуля (PyInit__caffe)

Я устанавливаю caffe с python3, но когда я импортирую кофе, я получаю некоторые ошибки Traceback (последний последний звонок):

File "classify.py", line 14, in <module> import caffe File "/home/hez/caffe-master/python/caffe/__init__.py", line 1, in <module> from .pycaffe import Net, SGDSolver File "/home/hez/caffe-master/python/caffe/pycaffe.py", line 13, in <module> from ._caffe import Net, SGDSolver ImportError: dynamic module does not define module export function (PyInit__caffe) 

Но он хорошо работает в python2.7.

Я добавил / path / to / caffe / distribubute / python в PATH, но когда я делаю pycaffe, это показывает, что

 make: Nothing to be done for `pycaffe'. 

Как я могу решить эту проблему? Большое спасибо.

Использование caffe с python 3 в настоящее время не поддерживается:

Интерфейс Python от Caffe работает с Python 2.7. Python 3 или более ранние Pythons – ваше собственное приключение.

См . Учебник по установке caffe .

Теперь можно построить Caffe для Python3, и я почти уверен, что это было возможно в 16 декабря, когда был задан вопрос.

Для этого вам нужно удалить комментарии в Makefile.config с помощью Python3:

 # Uncomment to use Python 3 (default is Python 2) # Check that boost library name is correct here!!! PYTHON_LIBRARIES := boost_python3 python3.5m PYTHON_INCLUDE := /usr/include/python3.5m \ /usr/lib/python3.5/dist-packages/numpy/core/include 

Но, следовательно, вы будете иметь кофе только в python3 OR python2, из-за способа установки caffe (с PYTHON_PATH, это не очень хороший способ).

Чтобы обойти это, вы можете сделать такой трюк в своем ~ / .bashrc:

 alias python2="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py2/python && python2" alias python3="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py3/python && python3" alias python="export PYTHONPATH=$PYTHONPATH:/home/undead/reps/caffe_py2/python && python2" 

Поэтому оба будут работать.