0

現在、Python を使用して Gurobi ソルバーを使用しています。以前は、テキスト エディターとターミナルを組み合わせてモデルの作成と実行を行っていましたが、現在は Enthought Canopy Editor を使用して実験しています。を使用してターミナルで実行すると機能するモデルがありますが、Canopy の iPython シェルでpython model.py実行しようとすると、次のようになります。%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 は別の場所でモジュールを探しますが、それを修正する方法がわかりません。OS X 10.8 での Enthought Canopy と Gurobi に関する Gurobi グループ サイトでこのリファレンスを見つけましたが、これらの指示が 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'

4

1 に答える 1

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-ie-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__
于 2013-06-24T01:02:12.193 に答える