2014-01-16 45 views
1

我是python的新手,我試圖爲led立方體編寫一個簡單的程序。首先,我需要執行提供的其他示例程序之一,但是當我嘗試運行python程序時,出現錯誤「No module named cube_interface」。Python - 沒有名爲foo的模塊

現在,在您將此問題標記爲重複並將我引用到7,776個類似問題的堆棧溢出之前,讓我告訴您透露我已經嘗試實施其他14個SO問題上提供的解決方案,然後是3個博客,修復這個錯誤,沒有運氣。

操作系統:Mac OSX 10.8.1
的Python:2.7.5
回購:https://github.com/chadharrington/all_spark_cube

示例程序爲src/tetris.py

該模塊爲src/all_spark_cube_client

├── Makefile 
    └── src 
     ├── LICENSE.txt 
     ├── all_spark_cube_client 
     │   ├── __init__.py 
     │   └── __init__.pyc 
     ├── all_spark_cube_client.egg-info 
     │   ├── PKG-INFO 
     │   ├── SOURCES.txt 
     │   ├── dependency_links.txt 
     │   ├── not-zip-safe 
     │   ├── requires.txt 
     │   └── top_level.txt 
     ├── build 
     │   ├── bdist.macosx-10.9-intel 
     │   └── lib 
     │    └── all_spark_cube_client 
     │     └── __init__.py 
     ├── client_demo.py 
     ├── colors.py 
     ├── dist 
     │   └── all_spark_cube_client-0.1-py2.7.egg 
     ├── load_test.py 
     ├── setup.py 
     ├── supervisord.conf 
     ├── supervisord_init_script.debian 
     ├── supervisord_init_script.redhat 
     └── tetris.py 

當我嘗試運行tetris.py程序時,出現錯誤「No module named ..」

python tetris.py 
Traceback (most recent call last): 
    File "tetris.py", line 5, in <module> 
    from all_spark_cube_client import CubeClient 
    File "/Users/sowen/Code/all_spark_cube/software/clients/python_client/src/all_spark_cube_client/__init__.py", line 8, in <module> 
    from cube_interface import CubeInterface 
ImportError: No module named cube_interface 

許多答案建議添加pwd。/Library/Python等..到PYTHONPATH。我嘗試過獨立實施所有這些建議,甚至將所有建議合併到一個frakenstein路徑中,如圖所示,但沒有運氣。

cd ~/Code/all_spark_cube/software/clients/python_client 
export PYTHONPATH=$PATH:$PYTHONPATH:`pwd`:`pwd`/src:.:/Library/Python/2.7/site-packages/ 

我試圖建立Python模塊

$sudo python setup.py build 
running build 
running build_py 
file all_spark_cube_client.py (for module all_spark_cube_client) not found 
file all_spark_cube_client.py (for module all_spark_cube_client) not found 

我試着安裝Python模塊(它不給任何錯誤,但我仍然感到無法運行tetris.py)

cd ~/Code/all_spark_cube/software/clients/python_client/src/ 
sudo python setup.py install 

如何執行tetris.py程序?

其他資源

http://docs.python.org/2/using/mac.html
http://www.confusedcoders.com/random/python-module-importerror-no-module-named-pocketsphinx

+2

您的文件列表中不包含任何稱爲'cube_interface'。 'cube_interface'在哪裏? – BrenBarn

+0

您是否按照網頁上的說明列表?安裝prereqs,克隆repo,make等? – user2357112

+0

說明是針對服務器的,我正在嘗試構建客戶端。 – spuder

回答

3

你忘了建立cube_interface

參見:https://github.com/chadharrington/all_spark_cube/tree/master/software/thrift

您需要用gen_py工具來構建這個。

即:(我假設 :):

cd /path/to/all_spark_cube/software/thrift/ 
make 
cp cube_interface.py /path/to/python/site-packages 
+0

謝謝!'make'沒有工作,但我認爲我在正確的軌道上'make:thrift:沒有這樣的文件或目錄 make:*** [gen-py]錯誤1 ' – spuder

+0

_顯然要安裝** thrift **。請仔細按照他們的指示* :) –

+0

我需要客戶端。他們的指示是針對服務器的, – spuder

相關問題