【问题标题】:Using Gurobi solver in the Enthought Canopy Editor on Linux在 Linux 上的 Enthought Canopy 编辑器中使用 Gurobi 求解器
【发布时间】:2013-06-22 19:21:44
【问题描述】:

我目前正在使用 python 使用 Gurobi 求解器。以前,我只是混合使用文本编辑器和终端来编写和运行我的模型,但我目前正在尝试使用 Enthought Canopy Editor。当我使用python model.py 在终端中运行时,我有一个可以工作的模型,但是当我尝试在 Canopy 的 iPython shell 中执行%run model.py 时,我得到:

%run /home/cdhagmann/Copy/Code_Env/Farmer/model.py
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/home/cdhagmann/Canopy/appdata/canopy-1.0.1.1189.rh5-x86_64/lib/python2.7/site-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
    181             else:
    182                 filename = fname
--> 183             __builtin__.execfile(filename, *where)

/home/cdhagmann/Copy/Code_Env/Farmer/model.py in <module>()
----> 1 from gurobipy import *
      2 from data_IO import read_data,currency
      3 import time
      4 
      5 # Import model data

ImportError: No module named gurobipy

我的猜测是终端和 Canopy 在不同的地方寻找模块,但我不知道如何纠正它。我在 Gurobi 小组网站上找到了有关 Enthought Canopy and Gurobi on OS X 10.8 的参考资料,但不知道这些指令与在 Linux 上执行此操作有多大不同,甚至不知道他在 Canopy 的站点包中安装 Gurobi 的意思。

更新:根据我点击的第一个链接找到的信息,我确实留下了框住的点击,使 Canopy 成为我的默认目录。您必须手动添加 PATH 变量,我想念他们说我必须这样做。所以我就这么做了。我现在在我的终端中运行 Canopy 的 iPython 版本(使用 sys.path 检查);然而,当我尝试运行 python 时,我得到了一个巨大的错误列表。

cdhagmann@Crispin ~ $ python
Traceback (most recent call last):
  File "/usr/lib/python2.7/site.py", line 563, in <module>
    main()
  File "/usr/lib/python2.7/site.py", line 545, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/lib/python2.7/site.py", line 272, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/lib/python2.7/site.py", line 247, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/lib/python2.7/site.py", line 237, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/lib/python2.7/sysconfig.py", line 578, in get_config_var
    return get_config_vars().get(name)
  File "/usr/lib/python2.7/sysconfig.py", line 505, in get_config_vars
    import re
  File "/usr/lib/python2.7/re.py", line 105, in <module>
    import sre_compile
  File "/usr/lib/python2.7/sre_compile.py", line 14, in <module>
    import sre_parse
  File "/usr/lib/python2.7/sre_parse.py", line 17, in <module>
    from sre_constants import *
  File "/usr/lib/python2.7/sre_constants.py", line 18, in <module>
    from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT

建议?

并回答@Jonathan 的问题:

sys.prefix = '/usr'

sys.path:

  • /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
  • /usr/lib/pymodules/python2.7
  • /usr/lib/python2.7/dist-packages/ubuntu-sso-client

gurobipy.__file__ = '/usr/local/lib/python2.7/dist-packages/gurobipy/gurobipy.so'

【问题讨论】:

    标签: ipython enthought gurobi


    【解决方案1】:

    如果终端为 Canopy Python 正确配置,则终端中的 python 和 Canopy Python 应该在相同的位置寻找模块。如果在安装过程中禁用了“使 Canopy 成为默认 Python”,或者安装后没有重新启动终端,则不会自动正确配置。

    这些文章应该可以帮助您理解和配置:

    http://docs.enthought.com/canopy/configure/faq.html#where-are-all-of-the-python-packages-in-my-user-python-environment

    https://support.enthought.com/entries/23646538-Make-Canopy-s-Python-be-your-default-Python-i-e-on-the-PATH-

    https://support.enthought.com/entries/23389761-Installing-packages-into-Canopy-Python-from-the-command-line

    如果这些文章不足以让你解决这个问题,那么请报告——当你从终端运行 python 时,这些是什么?

    sys.prefix
    sys.path
    gurobipy.__file__
    

    【讨论】:

    • 我按照文章里说的做了。我现在在终端中有 Canopy 的 iPython 版本(使用 sys.path 检查),但如果我现在尝试运行 python,它会带来一系列错误。
    • 我不知道为什么它不让我@你@Jonathan,但还有更多的想法吗?
    • 没有详细信息,“大量错误”无法分析。
    • 我用“大量错误”编辑了这个问题,因为我不能在评论区。
    • 我还为你添加了sys.prefixsys.pathgurobipy.__file_ @Jonathan。
    猜你喜欢
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    相关资源
    最近更新 更多