Cythonize приводит к: «c1: фатальная ошибка C1083: невозможно открыть исходный файл:« helloworld. c ': нет такого файла или каталога » - PullRequest
1 голос
/ 16 марта 2020

Чтобы применить Cython к будущему проекту и ознакомиться с ним, я начал с создания простого 'helloworld', как описано в документации Cython, на машине windows. Следуя инструкциям, я продолжаю получать ту же ошибку:

D:\Test GB Python\HelloWorldpyx>python setup.py build_ext --inplace  
running build_ext  
building 'helloworld' extension  
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -ID:\Python\include -ID:\Python\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.24.28314\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tchelloworld.c /Fobuild\temp.win-amd64-3.8\Release\helloworld.obj  
helloworld.c  
c1: fatal error C1083: Cannot open source file: 'helloworld.c': No such file or directory  
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.24.28314\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2**

Пытаясь самостоятельно выяснить проблему, я прочитал, но безрезультатно, следующее:

До сих пор я пытался:

  • Включая в переменную окружения путь, как Python, так и компилятор VS x64.
  • Загрузка и установка соответствующего компилятора VS для моей версии Python.
  • Обновление setuptools.
  • Выполнение команды 'cythonize -3 -i helloworld.pyx' как из командной строки для разработчиков для VS 2019 , так и из командной строки x64 Native Tools для VS 2019 в качестве администратора.
  • Успешная компиляция. c и. cpp файлов 'Helloworld', написанных в c и c ++ соответственно, в другом каталоге.
  • Изменение файла setup.py , как написано в документации Cython, для включения в него «# distutils: language = 3», чтобы указать, что Python 3 используется. Теперь «setup.py» выглядит следующим образом:
# distutils: language=3
from distutils.core import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize("helloworld.pyx")
)

Системные спецификации:

  • Microsoft Windows [Версия 10.0.18362.720]
  • MSV C 14.24.28314
  • Python 3.8.2 AMD64
  • Cython 0.29.15

Любая помощь будет высоко ценится, Я надеюсь, что это не будет повторяющийся вопрос, и поскольку это мой первый вопрос, любое необходимое редактирование будет выполнено, как указано.

...