2016-06-23 19 views
1

私は自分のCPU上にpythonパスを修正しようとしていましたが、もともと私の.bash_profileを変更しようとしていましたが、それは動作していなかったので使用しましたsys.path.append(pathToModule)を元に戻す方法

import sys 
sys.pat.append(path/To/Module) 

と私は私のスクリプトを実行したときに、今、私はこのエラーメッセージ

Traceback (most recent call last): File "rootTest.py", line 1, in from ROOT import gROOT, TCanvas, TF1 File "/Users/HenryFroland/Desktop/root/lib/ROOT.py", line 103, in import libPyROOT as _root ImportError: dlopen(/Users/HenryFroland/Desktop/root/lib/libPyROOT.so, 2): Library not loaded: @rpath/libRIO.so Referenced from: /Users/HenryFroland/Desktop/root/lib/libPyROOT.so Reason: image not found

どのように私はこの問題を修正するか、sys.path.append(path/To/Module)を元に戻すことができますいずれかを取得しますか?

また、pythonパスで複数のディレクトリをエクスポートすることは可能ですか?もしそうなら、私はどのようにしますか?

+2

その行を削除しますか? 'sys.path'に追加すると、そのスクリプトの実行時間のルックアップ・パスのみが変更されます。それは他のスクリプトに影響しません... – mgilson

+0

一般的に、 'sys.path'でmuckingは深刻な設計上の欠陥を示します。デフォルトのパスで十分です。しかし、あなたのエラーは実際には 'LD_LIBRARY_PATH'(またはより良い、' -rpath')に関係しているように見えます。 – o11c

答えて

0

sys.path.append()でパスを追加すると、現在のセッションでのみこれを行うことに注意してください。それを元に戻す必要はありません。

pythonファイルから行を削除するだけです。

0

あなたはそれがあるかもしれないものは何でもあなたが最後に追加されたアイテムまたは実際にPYTHONPATHの最後の項目を削除しますsys.path.pop()
を試してみました。

0

How can I either fix this issue or undo the >sys.path.append(path/To/Module)?

sys.path.appendを元に戻すには、スクリプトからその行を削除するだけです。 PYTHONPATHを編集するまで、パスは現在のスクリプトに対してのみ変更され、システム全体では変更されないためです。

Also, is it possible to export multiple directories in the python path, and if so how do I do that?

あなたがsysを使用してそれを実行したい場合は、同じようにそれを行うことができます。 sys.path.extend(['/path1', '/path2'])

関連する問題