"ошибка: невозможно найти vcvarsall.bat" при компиляции кода Cython - PullRequest
0 голосов
/ 06 ноября 2018

Как предложено здесь , я успешно установил Компилятор Microsoft Visual C ++ для Python 2.7 для компиляции некоторого кода Cython, но:

from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize("module1.pyx"))

все еще производит:

ошибка: невозможно найти vcvarsall.bat

Как скомпилировать код Cython с Python 2.7 (например, в Windows 7 x64)?

Примечание: я уже внимательно прочитал вопрос Ошибка: не удалось найти vcvarsall.bat , но основные ответы (включая изменение msvc9compiler.py) не решили его.

1 Ответ

0 голосов
/ 06 ноября 2018

Я потратил на это несколько часов, и информацию было нелегко найти в Ошибка: невозможно найти vcvarsall.bat , поэтому я публикую ее здесь с функцией «ответить на свой вопрос»:

  • Шаг 1. Установите Компилятор Microsoft Visual C ++ для Python 2.7

  • Примечание: Вы не должны изменить msvc9compiler.py, как часто предлагается во многих сообщениях на форуме

  • Шаг 2: Просто добавьте import setuptools, который поможет Python и «Microsoft Visual C ++ Compiler for Python 2.7» работать вместе.

    import setuptools  # important
    from distutils.core import setup
    from Cython.Build import cythonize
    setup(ext_modules=cythonize("module1.pyx", build_dir="build"),
                                               script_args=['build'], 
                                               options={'build':{'build_lib':'.'}})
    

    Примечание: параметр script_args позволяет запустить этот файл setup.py всего с python setup.py (то есть CTRL + B в вашем любимом редакторе, таком как Sublime Text) вместо необходимости передавать аргументы командной строки как это: python setup.py build.

Работает!

...