2017-02-22 16 views
0

私はLeap Motionのプログラミング経験はありませんし、Python2.7(IOS Sierra、10.12.3 )。 致命的なPythonのエラー:PyThreadState_Get:なし現在のスレッド 中止トラップ:私はLeap Motionエラー:致命的なPythonエラー:PyThreadState_Get:現在のスレッドがありませんトラップを中止します:6

which python2.7 

をしようとすると6

私は

/opt/local/bin/python2.7 

ときに私を取得しかし、それは常に私に次のエラーを与えます実行

otool -L LeapPython.so 

私は

LeapPython.so: 
    /opt/local/bin/python2.7/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib (compatibility version 2.7.0, current version 2.7.0) 
    @loader_path/libLeap.dylib (compatibility version 0.7.0, current version 2.3.1) 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1) 
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0) 

私のOSにはいくつかのPythonバージョンがあります。私はsudo port select --list python を実行すると、私は何が起こっている

Available versions for python: 
    none 
    python26-apple 
    python27 
    python27-apple (active) 

を取得...助けてください!そんなにありがとう。

答えて

1

ポートやbrewを通じてインストールされたpythonディストリビューションで動作するように跳躍するには、いくつかの手順が必要です。だから簡単に、デフォルトのシステムPythonを使用してください。

sudo port select --set python python27 

、その後でそれを確認してください。

/usr/local/bin/python27 

今私はsample.pyを実行し、SDKで再しようとするだろう:あなたが取得する必要指す

which python 

れます。

あなたは、ポートのバージョンを使用したい場合は、にあるポートバージョン、選択する必要があります:

/opt/local/bin/python2.7 

をし、現在のローダー・パスを表示するには、コマンドotoolユーティリティを実行します。

otool -L LeapPython.so 
、/ Lで始まる

LeapPython.so: 
    @loader_path/LeapPython.so (compatibility version 0.0.0, current version 0.0.0) 
    /Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.0) 
    @loader_path/libLeap.dylib (compatibility version 0.7.0, current version 2.0.1) 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0) 
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0) 

ライン:のような出力が表示されます

ibrary/Frameworks/Python.framework/Versions/2.7/PythonはPythonへの参照です。これはinstall_name_toolユーティリティで変更する必要があります。

次に、install_name_toolユーティリティを実行して、Pythonリファレンスを目的の場所に更新します。たとえば、

install_name_tool -change /Library/Frameworks/Python.framework/Versions/2.7/Python \ 
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib \ 
LeapPython.so 

うまくいけばよいと思います。しかし、私が言ったように、もしあなたが/ usr/local/bin /にあるmacディストリビューションを使っているなら、それはより厳しいものであり、これらの2つのステップは必要ありません。ここで飛躍から

全DOC: https://community.leapmotion.com/t/python-thread-error-mavericks/1184/4

+0

ありがとうございます!しかし、私がsudoのport select --set python python27を実行しようとしたときに、/ opt/local/bin/python27ではなく、/ opt/local/bin/pythonのままになっています。だから実際には動作しません:( –

関連する問題