Python ImportError:动态模块未定义模块导出函数(PyInit_u_caffe)

Python ImportError:动态模块未定义模块导出函数(PyInit_u_caffe),python,neural-network,deep-learning,caffe,Python,Neural Network,Deep Learning,Caffe,我用python3安装了caffe,但是当我导入caffe时,我得到了一些错误 回溯(最近一次呼叫最后一次): 我怎样才能解决这个问题? 非常感谢。更新 Caffe支持python 3.3+。 请查看安装指南和 原始(过时)答案 当前不支持将caffe与python 3一起使用: Caffe的Python接口与Python 2.7配合使用。Python 3或更早版本的Python是您自己的冒险 请参阅。现在可以为Python3构建Caffe,我几乎可以肯定,在12月16日提出这个问题时,这是可能

我用python3安装了caffe,但是当我导入caffe时,我得到了一些错误 回溯(最近一次呼叫最后一次):

我怎样才能解决这个问题?
非常感谢。

更新
Caffe支持python 3.3+。 请查看安装指南和

原始(过时)答案
当前不支持将caffe与python 3一起使用:

Caffe的Python接口与Python 2.7配合使用。Python 3或更早版本的Python是您自己的冒险


请参阅。

现在可以为Python3构建Caffe,我几乎可以肯定,在12月16日提出这个问题时,这是可能的

为此,需要使用Python3删除Makefile.config中的注释:

# 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或python2中使用caffe,因为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"

因此,两者都可以工作。

确保您使用的是正确的python版本

import platform
print(platform.python_version())

我在Python3中遇到了这个问题,而在Python2中效果很好。

在做了这些更改之后,我是否需要执行“全部生成”操作?@Ravikrn否,您需要构建两个库(.so)并以这种方式指向它们。请详细说明。我只想要python3,最初我安装了带有python2说明的caffe。您所说的构建两个库是什么意思?My ~/.bashrc有“export PYTHONPATH=/home/path/caffe/python:$PYTHONPATH”@Ravikrn在您的例子中,您只需要用python3重建caffe。但是在那之后,蟒蛇咖啡馆就要消失了。嘿,现在还是这样吗?caffe安装说明也显示了python3。您可以根据新信息更新您的答案吗?您还可以现在在CMakeLists.txt文件中将python版本从2更改为3。如果您使用正确的python版本重建模块,您必须先退出解释器,然后再尝试以交互方式重新导入模块。否则,python将继续打印相同的错误,即使文件现在是正确的。
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"
import platform
print(platform.python_version())