这里的第一个问题 - 感觉就像一个愚蠢的问题,我尝试搜索不同的东西,但找不到答案。
我正在关注Cython getting started guide并尝试构建我的第一个模块。我的'testing.pyx'文件是:
def say_hello_to(name):
print("Hello %s!" % name)
我的'setup.py'文件是:
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'Hello world app',
ext_modules = cythonize("testing.pyx")
)
两个文件都位于同一目录C:\ testing中。然后我跑:
python setup.py build_ext --inplace
并收到以下错误(我正在使用Anaconda设置):
C:\Users\Jill3\Anaconda\Scripts\gcc.bat -DMS_WIN64 -mdll -O -Wall -IC:\Users\Jill3\Anaconda\include -IC:\Users\Jill3\Anaconda\PC -c testing.c -o build\temp.win-amd64-2.7\Release\testing.o
gcc.exe: error: testing.c: No such file or directory
gcc.exe: fatal error: no input files
一个testing.c文件出现在目录中,但没有其他内容。
如果我将setup.py文件更改为:
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = 'Hello world app',
ext_modules = cythonize("C:\\testing\\testing.pyx")
)
然后一切按预期工作。
我有什么要调整的吗?或者每次都必须包含整个目录路径?
编辑:我尝试在setup.py文件中包含当前目录:
from distutils.core import setup
from Cython.Build import cythonize
import os
setup(
name = 'Hello world app',
ext_modules = cythonize("testing.pyx"),
include_dirs = [os.getcwd()]
)
这反映在输出中,但我仍然看到相同的错误:
C:\Users\Jill3\Anaconda\Scripts\gcc.bat -DMS_WIN64 -mdll -O -Wall -IC:\testing -IC:\Users\Jill3\Anaconda\include -IC:\Users\Jill3\Anaconda\PC -c testing.c -o build\temp.win-amd64-2.7\Release\testing.o
gcc.exe: error: testing.c: No such file or directory
gcc.exe: fatal error: no input files
答案 0 :(得分:-2)
尝试从测试目录中运行python代码。问题可能在于路径。这在安装期间会发生,提示您在哪里安装设置。在您的情况下尝试解决此问题。