Ich bin ein Python-Paket, das einige Cython-Code enthält. Ich benutze virtualenv. Es kompiliert gut, wenn ichPython setup.py installieren, nicht genügend Speicher in virtualenv
$ source activate
$ python setup.py build_ext --inplace
schreiben, aber dann, wenn ich versuche, das Paket zu installieren, es beginnt Speicher, bis mein Computer hängt zu verbrauchen (oder ich töte den Prozess vor). Genauer gesagt, es hängt, wenn ich versuche:
$ 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
ich es denke folgende [https://github.com/docker/docker/issues/10025][1] die Ursache des Problems sein kann. Im Wesentlichen in der oben genannten Ausgabe heißt es folgende
Ich kann dieses Problem replizieren. Die obige Auflösung deutet nicht darauf hin, dass Python-Versionen ändern irgendetwas behoben. Es ist das Schreiben von Dateien von Setuptools, die es verursacht, obwohl ich nicht weiß warum. Manchmal hängt es für mich beim Schreiben von dependency_links.txt und manchmal SOURCES.txt. Will sehen, ob ich weiter nachforschen kann.
...
Haha, ok, das Problem ist, dass Sie setup.py sind Aufruf von/und distutils macht einen listdir ('') von dem anrufenden Verzeichnis, so dass ich davon ausgehen, es ist zu Fuß das gesamte Dateisystem. Ich denke, mach das nicht. https://github.com/python/cpython/blob/master/Lib/distutils/filelist.py#L245
Ich habe eine Vorstellung davon, was los ist, aber ich weiß nicht, wie das Problem zu lösen.
Weitere Informationen, die nützlich sein können. Unter dem Inhalt von setup.py
from setuptools import setup
from Cython.Build import cythonize
setup(name = 'ColoredHRG' ,
version = '0.1' ,
description = 'my package.' ,
url = 'BLA BLA' ,
author = 'BLA BLA' ,
author_email = 'BLA BLA' ,
license = 'GPL3' ,
packages = [ 'ColoredHRG' ] ,
ext_modules = cythonize([ "ColoredHRG/ColoredHRG.pyx" ,
"ColoredHRG/Pool.pyx" ,
"ColoredHRG/MC.pyx" ,
"ColoredHRG/EXAMPLE_traveling_salesman.pyx" ,
"ColoredHRG/MC_ColoredHRG.pyx" ] ,
language = 'c++') ,
zip_safe = False)
EDIT: falsche Sätze festgelegt.
EDIT: hinzugefügt, um die Flagge cython