简体   繁体   中英

Python - No module named foo

I'm new to python and I am trying to write a simple program for an led cube. First I need to execute one of the other sample programs provided, but I'm getting the error "No module named cube_interface" when I try and run a python program.

Now before you mark this question as duplicate, and refer me to the 7,776 similar questions stack overflow, let me tell disclose that I've already tried implementing the solutions provided on 14 other SO questions, and followed 3 blogs covering how to fix this error, with no luck.

OS: Mac OsX 10.8.1
Python: 2.7.5
Repo: https://github.com/chadharrington/all_spark_cube

The example program is src/tetris.py

The module is 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

When I try and run the tetris.py program, I get an error "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

Many of the answers suggest adding pwd . /Library/Python ect.. to the PYTHONPATH. I've tried implementing all of them independently, and even combined all suggestions into one frakenstein path as shown, with no luck.

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

I've tried building the python module

$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

I've tried installing the python module (It doesn't give any errors, but I still am unable to run tetris.py)

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

How can I execute the tetris.py program?

Additional Resources

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

You forgot to build cube_interface :

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

You need to build this with the gen_py tool.

ie: ( I assume :):

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM