我想用C扩展来制作python包。我想把这件事交给赛顿。我的结构是:
.
├── build
│ ├── lib.linux-i686-2.7
│ │ └── pyA13SOM
│ │ ├── cython
│ │ │ └── spi.so
│ │ └── __init__.py
│ └── temp.linux-i686-2.7
│ └── pyA13SOM
│ └── cython
│ ├── my_test.o
│ └── spi.o
├── CHANGES.txt
├── Makefile
├── MANIFEST
├── pyA13SOM
│ ├── cython
│ │ ├── clibraries
│ │ │ └── spi_test.c
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── spi.c
│ │ ├── spi.pyx
│ │ └── spi.so
│ ├── gpio
│ │ ├── gpio.c
│ │ ├── gpio_lib.c
│ │ ├── gpio_lib.h
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── i2c
│ │ ├── i2c.c
│ │ ├── i2c_lib.c
│ │ ├── i2c_lib.h
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── spi
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── spi.c
│ │ ├── spi_lib.c
│ │ └── spi_lib.h
│ └── utilities
│ └── color.h
├── README.txt
└── setup.py
我的安装文件是:
^{pr2}$树在~/mydir/
中。我去~/mydir/
做:python setup.py install
。在
构建过程中的一切都正常。接下来我尝试测试import
。我应该给我留言。确实如此。在
~/mydir/$ **python -c "import pyA13SOM.cython.spi"**
Test:
Hellowwwwwwwwwww!
但当我从另一个目录执行此操作时:
~/someotherdir/$ **python -c "import pyA13SOM.cython.spi"**
ImportError: No module named cython.spi
知道为什么会这样吗?在
您可能需要在$PYTHONPATH中包含新构建的.spi文件所在的目录。否则python无法找到要导入它的文件。当您在~/mydir/中时,如果我没弄错的话,python会搜索本地路径。。。在
根据所使用的shell,可以使用以下命令将~/mydir/目录包含到pythonpath中:
对于bash和sh shell:
对于csh/tcsh环境:
^{pr2}$这两个命令将~/mydir/临时添加到$PYTHONPATH中。如果要永久添加路径,则必须分别将上述命令添加到~/.bashrc或~/.tcshrc中。在
希望这能帮助。。。在
相关问题 更多 >
编程相关推荐