2011-02-09 13 views
1

私はこれを理解してください。ここでは、私はPYTHONPATHが設定されていることがわかりますPYTHONPATHが環境にありません

[email protected]:~$ echo $PYTHONPATH 
:/home/jean/local/lib/python2.6/site-packages 

(それは私の.bashrcからだ)しかし、私は私の地元のsite-packagesで何かを起動しようとした場合、それは無視されます:

[email protected]:~$ gtimelog 
Traceback (most recent call last): 
    File "/home/jean/bin/gtimelog", line 5, in <module> 
    from pkg_resources import load_entry_point 
    File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2671, in <module> 
    working_set.require(__requires__) 
    File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 654, in require 
    needed = self.resolve(parse_requirements(requirements)) 
    File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 552, in resolve 
    raise DistributionNotFound(req) 
pkg_resources.DistributionNotFound: gtimelog==0.5.0 

今手動I場合正確に値echoへの輸出PYTHONPATHは上記を見せてくれた、それは無視されていません:

[email protected]:~$ export PYTHONPATH=:/home/jean/local/lib/python2.6/site-packages 
[email protected]:~$ gtimelog 
# SUCCESS 

間違って何が起こっているかどれ手がかりを?

答えて

4

ほとんどの場合、シェル変数PYTHONPATH.bashrcにのみ設定されていますが、この変数は環境にエクスポートしないでください。 echoで印刷すると、シェル変数には印刷された値しかないことが示されます。あなたは本当にexportそれあなたの.bashrcにPYTHONPATH環境に本当にある場合

env | grep PYTHONPATH 

を照会してみてくださいします。

+0

これだけです!どのような初心者の間違いをする。興味深いことにスケルトンbashrc(/usr/share/base-files/dot.bashrc)は、エクスポートせずにHISTCONTROL、PS1などを設定します。 (Ubuntu 10.10) –

+1

@Jean:HISTCONTROLとPS1はシェル自体によって使用されます。環境にエクスポートする必要はありません。 –

関連する問題