使用Python开发的程序,运行速度上不太满意,碰巧看到赖勇浩CSDN博客中翻译的Cython三分钟入门。得空便开始着手尝试,半天未果。
问题一大堆,比如:
OS下设置环境变量;
Clang(/klæŋ /)安装;
OS下终端里设置临时环境变量的方法比较容易:
export PATH=$PATH:'app/bin'
OS设置永久环境变量,网上搜了一篇,没太搞明白,但起作用了:Mac下设置环境变量
编译Clang需要GCC,GCC我在XCode安装目录下找到了:
/Applications/Xcode.app/Contents/Developer/usr/bin
按照《结构化编译器前端Clang介绍》折腾半天,最终也没能编译成功。
回头再去XCode安装目录:
Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
找到了,果断复制了Clang至:
/Applications/Xcode.app/Contents/Developer/usr/bin
也不知道,合不合适,但终端里输入Clang终于有反应了
cd Cython-0.17.3
python setup.py build
阻力继续:
running build_py
running build_ext
building 'Cython.Plex.Scanners' extension
clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c Cython/Plex/Scanners.c -o build/temp.macosx-10.8-intel-2.7/Cython/Plex/Scanners.o
clang: warning: argument unused during compilation: '-mno-fused-madd'
Cython/Plex/Scanners.c:4:10: fatal error: 'Python.h' file not found
#include "Python.h"
^
1 error generated.
error: command 'clang' failed with exit status 1
stackoverflow上有个最佳答案:
sudo apt - get install python - dev
mac 里没有 apt-get 这个工具,傻眼。。。
其实还在Xcode目录中:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Python.framework/Versions/2.7/include
找到了“Python.h”,怎么让 python setup.py build 时知道呢?再傻眼。。。
没有师傅指导。。。
难免走弯路。。。
会遇到些稀奇古怪的东西,完全搞不清状况。。。
我看到了这篇文章:
《Fatal Error:studio.h File Not Found》
"Command Line Tools" 的 comment:
"Before installing, note that from within Terminal you can use the XCRUN tool to launch compilers and other tools embedded within the Xcode application. Use the XCODE-SELECT tool to define which version of Xcode is active. Type "man xcrun" from within Terminal to find out more.
Downloading this package will install copies of the core command line tools and system headers into system folders, including the LLVM compiler, linker, and build tools."
再次打开终端:输入gcc,输入clang,就这么简单,绕这么大弯。
python setup.py build 有些警告
sudo python setup.py install
结束!
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com