2014-05-12 63 views
8

我在Linux Mint 16上使用python 2.7。如果我從程序啓動器運行我的IDE(在Spyder和Pycharm上嘗試它)(例如,從Alt F2的提示符中,我遇到了錯誤或者我的桌面上的圖標快捷方式)的模塊不加載和我碰到下面的錯誤Linux上的Python模塊錯誤

 
File "/usr/local/lib/python2.7/dist-packages/gurobipy/__init__.py", line 1, in 
    from .gurobipy import * 
ImportError: libgurobi56.so: cannot open shared object file: No such file or directory 

但是,如果我在命令行中正確運行的程序模塊負載和程序運行正常。我只有一個安裝每個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

 
/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'] 

sys.path中oyutput運行命令行

封裝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跑蟒的setup.py安裝此創建gurobipy文件夾中/usr/local/lib/python2.7

4)增加了以下線的.bashrc

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

您是否已將必要的行添加到.bashrc文件中? –

+0

是的 export LD_LIBRARY_PATH =「$ {LD_LIBRARY_PATH}:/ usr/local/lib/python2.7/dist-packages/gurobipy」 – skr

+0

你是如何安裝的? –

回答

15

你不送et通向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 *,它應該正常工作,它會給大約是沒有許可證的唯一錯誤,如果你還沒有下載和here

安裝一個

要設置全系統的訪問,首先創建

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

然後加入

/opt/gurobi562/linux64/lib 

並保存該文件。

然後輸入

sudo ldconfig 

更新整個系統的庫。 您應該可以訪問Pycharm中的共享庫。

+0

我試過這個,它可以很好地從python shell中通過或不通過gurobipy。問題是,當IDE從快捷方式運行 – skr

+0

它在pycharm中運行時,當您從bash運行pycharm是嗎? –

+0

是的,它運行時pycharm從bash運行 – skr

1

您會看到不同的行爲,因爲在從終端啓動PyCharm(或其他編輯器)之前,始終會加載您的.bashrc。其他快捷鍵不知道你的.bashrc,他們不應該。看來這個模塊需要一些非常有趣的配置。

你最好不要每次都使用終端,就是修改你正在使用的快捷方式(由你決定)來設置適當的環境變量。這些變量中最重要的是LD_LIBRARY_PATH

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

警告:dist- packages似乎很奇怪,但我已將它複製出您的問題。如果它不起作用,取決於你找出正確的目錄名稱。