Python上的Python模块错误

我正在Linux Mint 16上使用python 2.7。如果我从程序启动器(例如从Alt F2的提示符或桌面上的图标快捷方式)运行我的IDE(在Spyder和Pycharm上尝试它),我正面临一个错误。该模块不加载,我得到以下错误

文件“/usr/local/lib/python2.7/dist-packages/gurobipy/__init__.py”,第1行,在 
    从.gurobipy导入*
 ImportError:libgurobi56.so:无法打开共享目标文件:没有这样的文件或目录

但是,如果我从命令行运行程序模块加载正确,程序运行良好。 我只有一个安装每个IDE。 这两个实例的sys.path输出如下所示:

sys.path输出为Pycharm从快捷方式运行:

 /home/XXXXXX/bin/pycharm-community-3.1.3/helpers/pydev','/usr/local/lib/python2.7/dist-packages/pip-1.5.5-py2.7.egg',' /usr/lib/python2.7','/usr/lib/python2.7/plat-x86_64-linux-gnu','/usr/lib/python2.7/lib-tk','/ usr / lib / python2.7 / lib-old','/usr/lib/python2.7/lib-dynload','/usr/local/lib/python2.7/dist-packages','/usr/lib/python2.7 / dist-packages','/usr/lib/python2.7/dist-packages/PILcompat','/usr/lib/python2.7/dist-packages/gtk-2.0','/ home / XXXXXX / PycharmProjects / untitled8' ] 

从命令行运行pycharm的sys.path oyutput:

 /home/XXXXXX/bin/pycharm-community-3.1.3/helpers/pydev','/usr/local/lib/python2.7/dist-packages/pip-1.5.5-py2.7.egg',' /usr/lib/python2.7','/usr/lib/python2.7/plat-x86_64-linux-gnu','/usr/lib/python2.7/lib-tk','/ usr / lib / python2.7 / lib-old','/usr/lib/python2.7/lib-dynload','/usr/local/lib/python2.7/dist-packages','/usr/lib/python2.7 / dist-packages','/usr/lib/python2.7/dist-packages/PILcompat','/usr/lib/python2.7/dist-packages/gtk-2.0','/ home / XXXXXX / PycharmProjects / untitled8' ]

包gurobipy在/usr/lib/python2.7/dist-packages中

遵循gurobi包装的安装程序:

1)不要下载到/ opt / gurobi562 / linux64

2)将以下行添加到.bashrc

export GUROBI_HOME="/opt/gurobi562/linux64" export PATH="${PATH}:${GUROBI_HOME}/bin" export LD_LIBRARY_PATH="${GUROBI_HOME}/lib" 

3)在/ opt / gurobi562 / linux64下运行python setup.py安装这个在/usr/local/lib/python2.7创build的gurobipy文件夹

4)将以下行添加到.bashrc

 export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib/python2.7/dist- packages/gurobipy" 

Solutions Collecting From Web of "Python上的Python模块错误"

你不要设置gurobipy的路径。

下载然后解压到/opt

 cd to `/opt/gurobi562/linux64` and run `python setup.py install` 

将以下内容添加到~/.bashrc

  export GUROBI_HOME="/opt/gurobi562/linux64" export PATH="${PATH}:${GUROBI_HOME}/bin" export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib" 

从bash类型的source ~/.bashrc

启动ipython外壳,并尝试from gurobipy import * ,它应该工作正常,它会给出的唯一的错误是关于没有许可证,如果你没有下载并从这里安装一个

要设置系统访问权限,请先创建

 sudo gedit /etc/ld.so.conf.d/gurobi_pi.conf 

然后加

 /opt/gurobi562/linux64/lib 

并保存该文件。

然后输入

 sudo ldconfig 

更新系统中的库。 您应该可以访问Pycharm中的共享库。

您看到不同的行为,因为在从终端启动PyCharm(或其他编辑器)之前始终加载.bashrc 。 其他的快捷方式对你的.bashrc一无所知,他们不应该。 看来这个模块需要一些非常有趣的配置。

你最好不要每次都使用终端,就是修改你正在使用的快捷方式(这是由你决定的)来设置适当的环境变量。 这些变量中最重要的是LD_LIBRARY_PATH

 export LD_LIBRARY_PATH="/opt/gurobi562/linux64/lib:/usr/local/lib/python2.7/dist- packages/gurobipy" 

警告: dist- packages似乎很奇怪,但我已经复制出你的问题。 如果它不起作用,这是由你来找出正确的目录名称是什么。