在terminal中import caffe/caffe2都是没问题的,但是在pycharm中如果直接import caffe/caffe2,会报错ImportError: No module named caffe/caffe2,因为pycharm启动时未加载.bashrc中的环境变量。对比在pycharm中print sys.path和在terminal中print sys.path,会发现环境的差异
在pacharm_path/bin/pycharm.sh中export caffe/caffe2的环境变量
# 在启动文件pycharm.sh中添加如下代码
export PYTHONPATH=caffe_path/caffe/python:caffe2_path/caffe2/build:$PYTHONPATH
然后点击pycharm图标启动就好。这种方法在pycharm中可以直接import caffe/caffe2,然后可以代码提示和跳转,十分舒服
在py文件中添加caffe/caffe2包的环境变量
# import caffe
import sys
caffe_root = path/caffe/python'
sys.path.insert(0, caffe_root)
import caffe
# import caffe2
import sys
caffe2_root = path/caffe2/build/caffe2'
sys.path.insert(0, caffe2_root)
import caffe2
但是这种方法有很大的弊端,就是在pycharm中不能进行代码提示和跳转,这对于开发很难受。