2017-05-12 11 views
0

Debian LinuxとPython 2.7.9を実行しているRaspberry PiプラットフォームのDjango/Pythonフレームワークを使ってWebアプリケーションを開発しています。スレッド対Pythonのスレッドモジュール

カメラやマイクなどの複数の周辺機器を処理するには、Pythonスクリプトで複数のスレッドを使用する必要があります。これらの周辺機器はリアルタイムで処理する必要があります。

私はPythonスクリプト(Pythonバージョン2.xか3.xかどうかは関係ありません)で "import thread"を発行できますが、 "import threading"は発行できないのでしょうか? @Albertoが述べたように

[email protected]:~ $ python --version 
Python 2.7.9 

[email protected]:~ $ python ./mythread.py 
Traceback (most recent call last): 
    File "./mythread.py", line 4, in <module> 
    from threading import Thread 
    File "/home/pi/threading.py", line 8, in <module> 
    del _sys.modules[__name__] 
AttributeError: 'module' object has no attribute 'Thread' 

[email protected]:~ $ python3 ./mythread.py 
Traceback (most recent call last): 
    File "./mythread.py", line 4, in <module> 
    from threading import Thread 
ImportError: bad magic number in 'threading': b'\x03\xf3\r\n' 
+0

すでに[この回答](http://stackoverflow.com/questions/514371/whats-the-bad-magic-number-error)にチェックしましたか? '* .pyc'ファイルのために問題になる可能性があります –

+0

ユーザーのpiディレクトリの下にあるすべての* .pycファイルを削除しても動作します。このような問題を解決するのに非常に感謝しています。 – dev03

答えて

0

問題のカップルは、のいずれかを存在する可能性があり、Pythonは、プリコンパイルされ、バイトコードに.pycファイルを使用しようとしているという事実です。これを避けるには、関連するディレクトリからpycacheファイルを削除します。インタプリタがそれらを実行しようとすると再コンパイルされます。以下のBashコードは、現在のディレクトリから再帰的に.pycファイルを再帰的に削除します。

find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf 
+1

コンパイル済みのすべてのファイルを削除するためにあなたが指定したコマンドラインを実行した後、それは動作します!!どうもありがとうございました。 – dev03

+0

喜んで助けました。 –

関連する問題