2017-12-31 54 views
0

나는 다음과 같은 수입이 "hello.py"라는 .py 파일을 만든 :'모듈'개체가 어떤 속성 '지역 주민없는'

from setuptools import setup,Extension 
from Cython.Build import cythonize 
setup(name = 'increment app',ext_modules = cythonize("hello.pyx")) 

내가 얻고이를 실행하는 동안 :

AttributeError를 ' module '객체에'locals '속성이 없습니다.

저는 Visual Studio C++ 2008 버전으로 작업하고 있습니다.

명령 프롬프트 pip install cython은 오류가 발생하지 않았지만 cython도 다운로드하거나 설치하지 않았습니다.

@DavidW 여기

AttributeErrorTraceback (most recent call last) 
C:\SPB_Data\setup.py in <module>() 
     1 from setuptools import setup,Extension 
----> 2 from Cython.Build import cythonize 
     3 setup(name = 'increment app',ext_modules = cythonize("hello.pyx")) 
C:\Users\kalachand\AppData\Local\Enthought\Canopy32\edm\envs\User\lib\site-packages\Cython\Build\__init__.py in <module>() 
----> 1 from .Dependencies import cythonize 
     2 from .Distutils import build_ext 
C:\Users\kalachand\AppData\Local\Enthought\Canopy32\edm\envs\User\lib\site-packages\Cython\Build\Dependencies.py in <module>() 
    176 
    177 
--> 178 @cython.locals(start=cython.Py_ssize_t, end=cython.Py_ssize_t) 
    179 def line_iter(source): 
    180  if isinstance(source, basestring): 
AttributeError: 'module' object has no attribute 'locals' 
+0

추적 표시를 추가 할 수 있습니까? 오류가 발생한 위치를 확인하는 것이 유용 할 수 있습니다. – DavidW

+0

@DavidW 답변 섹션에서 원하는 전체 추적을 참조하십시오. 또한, 내가 당신에게 연락 할 수있는 방법이있어서 전체 과정을 도와 줄 수 있습니다. 1.5 일 동안 똑바로 붙어 있습니다. 그것은 15 분 이상 걸리지 않습니다. 고맙습니다. –

+0

이런 종류의 문제는 항상 고칠 수 없으며 (실제로 어떻게 해야할지 잘 모르겠습니다). [cython]이라는 또 다른 모듈을 만들 수 있었습니까? (https://stackoverflow.com/a/15130088/4657412) -'import cython; print (cython .__ 파일 __)'. – DavidW

답변

0

guideline you seem to be following 당신이 setup.py이 코드를 삽입하고, 상당히 구체적인 방법으로 그것을 호출하도록 지시 --- 전체 역 추적입니다.

python setup.py build_ext --inplace 

가이드 라인은 distutils하지 setuptools 사용합니다.

가이드 라인은 당신의 다른 코드를 Cythonize, 그래서 인수 "hello.pyx"도 잘못 보이는 (또는 가이드 라인에 간단한 print("Hello World") 예처럼, 다른 코드로 hello.py를 교체하고 문제의 코드를 이동하는 방법에 대해 설명합니다 위의 제안처럼 setup.py).

설명서를 벗어나는 이유가있을 경우 편차에 대한 근거를 설명하고 설명서와의 특별한 차이가 사용자의 실수를 유발하는지 언급해야합니다. 테스트없이 여러 무상 변경을하면 시간과 우리의 시간이 낭비됩니다. 질문을하기위한 지침을 MCVE으로보십시오.

+0

내 편차에 대한 설명은 여기에 있습니다 : https : //stackoverflow.com/a/28617830/4657412 먼저 distutils를 시작했다고 생각하지 않습니까? –

+0

내가 상상하는 것은 2 차적이며 질문을 자급 자족하고 충분히 자세하게 만들어야한다는 것을보다 잘 입증 해주는 역할을합니다. – tripleee

+0

오케이 내 잘못이야! 지금 당면한 문제로 다시 돌아갈 수 있을까요? 참고로 distutils와 함께 Cython을 가져 오는 것과 동일한 문제가 발생했습니다. –