2014-02-06 2 views
5

Я пытаюсь использовать Setuptools в питоне, чтобы создать пакет яйца, но я получаю эту странную ошибку:ошибка: каждый элемент опции «ext_modules» должен быть экземпляр Extension или 2-кортеж

error: each element of 'ext_modules' option must be an Extension instance or 2-tuple 

Как могу я исправить это?

+0

Соответствующая проблема 'setuptools': https://github.com/pypa/setuptools/issues/309 –

ответ

9

Предполагая, что вы уже установили Setuptools, Редактировать setup.py целевого яйца пакета и заменить import setup, Extension для того, чтобы получить их от Setuptools.

from setuptools import setup, Extension, Command 

Rational: Setuptools переопределяет Extension так что возможно, что он не распознает объект, который вы имеете в ext_modules аргумента в качестве действительного объекта Extension. Отсюда сообщение об ошибке.

ext_modules является одним из аргументов метода setup(), который описывает расширение вашего модуля и указан в файле setup.py.

setup(name='foo', 
    version='1.0', 
    ext_modules=[Extension('foo', ['foo.c'])], 
) 

More info available in Python documentation

1

Это происходит из-за конфликта с Distutils из которых расширение импортируется w.r.t Setuptools. Я вижу эту ошибку при установке gdsCAD, поэтому мне пришлось обновить setupext.py для успешной установки

Смежные вопросы