Commit cd67996e authored by Kirill Smelkov's avatar Kirill Smelkov

pyx.build: Fix hang under gpython

Commit 8af78fc5 (pyx.build: v↑ setuptools_dso (1.2 -> 1.4)) upgraded
setuptools_dso to 1.4, but since from

https://github.com/mdavidsaver/setuptools_dso/commit/3f3ff746

setuptools_dso started to use multiprocessing, pyx.build, when running
under gpython, started to hang, which is a known gevent problem - see
e.g. here: https://github.com/gevent/gevent/issues/993. The problem was
manifesting itself as pyx.build unit test hanging under Python3.

Fix it by installing gevent multiprocessing plugin which is
automatically used/activated by gevent.monkey.patch_all().

geventmp says it is pre-alpha, but by using it we can unhang pyx.build
tests, which is better state than before. The other future possibility
would be to use https://github.com/jgehrcke/gipc wrapped into
multiprocessing compatible API.
parent 80ab5863
...@@ -290,7 +290,13 @@ setup( ...@@ -290,7 +290,13 @@ setup(
], ],
include_package_data = True, include_package_data = True,
install_requires = ['gevent', 'six', 'decorator', 'Importing;python_version<="2.7"'], install_requires = ['gevent', 'six', 'decorator', 'Importing;python_version<="2.7"',
# pyx.build -> setuptools_dso uses multiprocessing
# FIXME geventmp fails on python2, but setuptools_dso
# uses multiprocessing only on Python3, so for now we
# are ok. https://github.com/karellen/geventmp/pull/2
'geventmp;python_version>="3"',
],
extras_require = extras_require, extras_require = extras_require,
entry_points= {'console_scripts': [ entry_points= {'console_scripts': [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment