我試圖建立一個Python擴展(開局,http://gambit.sourceforge.net/gambit13/build.html)和我得到一個錯誤試圖建立setup.py時:詞典不可寫(通用老setup.py)
Traceback (most recent call last): File "setup.py", line 32, in <module>
m.Extension.dict = m._Extension.dict
AttributeError: attribute 'dict' of 'type' objects is not writable
這似乎是某種類型的(較舊的)setup.py文件的問題。我創建了一個小例子,基於https://pypi.python.org/pypi/setuptools_cython/0.2:
#Using Python 3.6 on Windows 10 (64-bit)
from setuptools import setup
#from distutils.extension import Extension
#^That line can be included or excluded without changing the error
import sys
if 'setuptools.extension' in sys.modules:
m = sys.modules['setuptools.extension']
m.Extension.__dict__ = m._Extension.__dict__
其他包在過去也有類似的問題(見Github上arcitc問題#17),顯然是一些Python的魔術去上面我的頭(北極的安裝固定它.py不再包含相關行)。
有什麼想法可能會導致問題?如果是這樣,我可以對setup.py做出任何更改,以避免出現此錯誤而不會破壞底層功能?