«Ошибка: невозможно найти vcvarsall.bat» при компиляции кода Cython

1

Как предлагается здесь, я успешно установил Microsoft Visual C++ Compiler для 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) не msvc9compiler.py.

Теги:
visual-c++
cython
distutils

1 ответ

1
Лучший ответ

Я потратил на это несколько часов, и информацию было нелегко найти по ошибке: не удалось найти 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 (т. script_args CTRL + B в вашем любимом редакторе, таком как Sublime Text) вместо необходимости передавать аргументы командной строки, такие как: python setup.py build.

Оно работает!

  • 1
    Делиться заботой :)
  • 1
    просто добавление «import setuptools» заставило ошибку исчезнуть
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню