2016-05-20 11 views
0

Openstackのインストールで何かが間違っていました。これでpythonは正しく機能しなくなりました。モジュールパスが見つかりません:私は、環境変数を経由してモジュールのパスを追加Pythonモジュールのパスが見つかりません

[email protected]:/root# keystone token-get 
Traceback (most recent call last): 
    File "/usr/bin/keystone", line 6, in <module> 
    from keystoneclient.shell import main 
ImportError: No module named shell 

場合は、このエラーは消え...(他のエラーが一瞬に関係ありません)

[email protected]:/root# export PYTHONPATH=/usr/lib/python2.7/dist-packages 
[email protected]:/root# keystone token-get 
Authorization Failed: Unable to establish connection to http://controller:35357/v2.0/tokens 

奇数詳細:また、ダッシュボード用のApacheでは動作しませんPythonなど

sys.path = [ 
'/root', 
'/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/gtk-2.0', 
] 
USER_BASE: '/root/.local' (doesn't exist) 
USER_SITE: '/root/.local/lib/python2.7/site-packages' (doesn't exist) 
ENABLE_USER_SITE: True 

が、ENVIを設定するオプションではありません。でも、環境変数のpython -mサイトを設定せずに正しい道を知っているようです毎回「輸出」の変数を使用します。他の場所で問題を解決する必要があります。

pythonインクルードパスはどこに設定されていますか?

UPDATE:

libのパスの順序が問題のようです。

PYTHONPATH=/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages; keystone token-get 

をし、これが動作していない:これは働いている

PYTHONPATH=/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages; keystone token-get 

答えて

0

ディストリビューション、2つの共通の場所に応じて:

/etc/profileexport pythonpath=apath; another/one;

を追加すると、システム全体になります または~/.bash-profileは、ユーザー固有のものになります

+0

apache2は/ etc/profileを読み込みますか? – Peter

+0

ピーター、マシンは起動時にそれを読むでしょう。その後、Apacheが起動し、それが表示されます。 – Louis

関連する問題