2016-06-29 2 views
1

일부 Cython 코드가 포함 된 Python 패키지를 코딩하고 있습니다. 나는 virtualenv를 사용한다. 내가python setup.py install, virtualenv의 메모리 부족

$ source activate 
$ python setup.py build_ext --inplace 

을 쓸 때 그것은 잘 컴파일하지만 패키지를 설치하려고하면 다음, 내 컴퓨터가 응답 할 때까지 메모리를 사용하기 시작 (또는 내가 전에 프로세스를 종료). 내가하려고 할 때 구체적으로는 응답 : 내가 거기에 다음과 같은 생각

$ python setup.py install 
running install 
running bdist_egg 
running egg_info 
creating ColoredHRG.egg-info 
writing ColoredHRG.egg-info/PKG-INFO 
writing top-level names to ColoredHRG.egg-info/top_level.txt 
writing dependency_links to ColoredHRG.egg-info/dependency_links.txt 
writing manifest file 'ColoredHRG.egg-info/SOURCES.txt 

[https://github.com/docker/docker/issues/10025][1]에 문제가있는 것일 수 있습니다. 기본적으로 위의 문제에서 다음과 같이 표시됩니다.

이 문제를 재현 할 수 있습니다. 위의 해결책은 Python 버전을 변경하면 아무 것도 수정하지 않았다고 제안하지 않습니다. 왜 그런지 모르지만 그것은 setuptools 파일을 작성하는 것입니다. 때로는 이 dependency_links.txt를 쓸 때 나를 위해 응답하고 때로는 SOURCES.txt를 작성합니다. 내가 더 조사 할 수 있는지 알 겠어.

...

좋아, 하하는 문제는 당신이에서 setup.py를 호출하고 있다는 것입니다 /와의 distutils는 전화 디렉토리에서 은 listDir를 ('.') 않는, 그래서 나는 걷고 가정 전체 파일 시스템은 입니다. 그래서 나는 그렇게 생각하지 않는다. https://github.com/python/cpython/blob/master/Lib/distutils/filelist.py#L245

나는 무슨 일이 일어나고 있는지의 아이디어는 있는데, 어떻게 문제를 해결하는 방법을 모르겠어요.

유용한 추가 정보. setup.py

EDIT : 내용이 잘못되었습니다.

편집 : 나는 마침내 문제를 발견 플래그 cython

답변

1

을 추가했다. 패키지의 폴더 구조 폴더 examples 내부의 폴더에 소프트 링크 (나는 리눅스에서 오전) (이었다)가 다음

ColoredHRG/setup.py 
... 
ColoredHRG/ColoredHRG/ColoredHRG.pyx 
ColoredHRG/ColoredHRG/MC.pyx 
... 
ColoredHRG/ColoredHRG/examples/examples.py 
... 

Aditionally입니다 위치에

../../DATA 

는 소프트 링크 그것은 어떻게 든이의 distutils 무한 재귀 루프에 입력하는 원인 밝혀 내 컴퓨터의 전체 메모리를 먹고 후 중단

ColoredHRG/ColoredHRG/examples/DATA -> ../../DATA 

했다.

소프트 링크가 제거되었으며 모든 것이 작동합니다.

수정 : 오타가 수정되었습니다.