微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

即使在编辑PATH之后,也无法使CythonfindMinGW gcc编译器,在distutils中创build一个文件,删除-mno-cygwin的所有实例

我正在试图让cython意识到我有一个交stream编译器在MinGW 32位,我已经尝试了一切,我可以在网上find,但它仍然无法正常工作。 我正在运行Windows 7 Professional 64位。 这是我所尝试的:

(1)我有Python 2.7,我只是用选项gcc和g ++和其他一些选项安装了MinGW

(2)我编辑了PATH环境variables,因此包含它

C:MinGWbin;C:MinGWMSYS1.0localbin;C:MinGWMSYS1.0bin

(3)我告诉Python通过创build一个名为的文件来使用MinGW作为认的编译器

如何运行cython命令行选项

Cython runtests.py:no属性'may_share_memory'

Windows Python程序重启(不同生活中的罪过)

我如何安装cython

Cython独立可执行文件在Ubuntu上

C: Python27 Lib distutils distutils.cfg,包含

[build] compiler = mingw32

(顺便说一句,我有MinGW32)

(4)我从文件C: Python27 Lib distutils cygwincompiler.py中删除了-mno-cygwin的所有实例

(5)我有一个名为setup.py的文件一个名为trycython.pyx的模块,它是用python编写的。 我的setup.py说distutils.core从distutils.extension导入安装从Cython.distutilsimport扩展导入build_ext

setup( cmdclass = {'build_ext':build_ext},ext_modules=[Extension("tryingcython",["tryingcython.pyx"])] )

所以然后我打开命令提示符,进入包含setup.py和tryingcython.pyx的目录,然后inputpython setup.py build_ext –inplace –compiler = mingw32

然后它告诉我:

running build_ext skipping 'tryingcython.c' Cython extension (up-to-date) building 'tryingcython.c' extension gcc -mdll -O -Wall -IC:Python27include -IC:Python27PC -c tryingcython.c -o build temp.win32-2.7Releasetryingcython.o error: command 'gcc' Failed: No such file or directory

所以我猜Cython不能告诉我有gcc,它找不到或者什么,即使我已经尝试了一些我可以在网上find的build议,让它意识到我有MinGW里面有gcc 。 任何帮助/关于如何让cython实际工作的其他想法将不胜感激。

在集群上使用Python,Cython和GSL

在Python cythonize期间“Intel iCLS意外”错误

Cython包装使用cl.exe将.c文件编译为.pyd(windows)

Cython编译为exe,Windows

使用cykthon编译带有dask或joblib多处理的可执行文件导致错误

您正在使用与我完全相同的操作系统和版本。

尝试使用以下命令调用gcc :

SET input=intput.c SET output=output.pyd gcc -shared -IC:Python27include -LC:Python27libs -O2 -o %output% %input% -lpython27

通常我把这个调用放在一个cythongcc.bat文件中, PATH环境变量所识别的目录中:

gcc -shared -IC:Python27include -LC:Python27libs -O3 -mtune=native -o %1.pyd %2.c -lpython27

所以,我可以,从我的cython .pyx文件,只是做:

cython input.pyx cythongcc input input

获得编译的.pyd工作!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐