celery / billiard

Multiprocessing Pool Extensions
Other
417 stars 252 forks source link

Getting the "C extension is not installed" error #244

Open mike-lawrence opened 6 years ago

mike-lawrence commented 6 years ago

Hi there, I'm on macOS 10.13.4, running python 3.6.5 installed via brew install python. I've tried installing billiard via pip (pip3 install billiard) as well as downloading the source and running python3 setup.py install, but after both I'm getting the "C extension is not installed" error when I run billiard.forking_enable(0). Any ideas? In case it matters, I have both clang (via xcode-select) & gcc-7 (via brew) installed. Below is the output from the manual install attempt.

running install
running bdist_egg
running egg_info
writing billiard.egg-info/PKG-INFO
writing dependency_links to billiard.egg-info/dependency_links.txt
writing top-level names to billiard.egg-info/top_level.txt
reading manifest file 'billiard.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.py' under directory 'Lib'
warning: no files found matching '*.py' under directory 'funtests'
warning: no previously-included files matching '*' found under directory 'docs/_build'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no previously-included files matching '.*.sw*' found under directory '*'
writing manifest file 'billiard.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.13-x86_64/egg
running install_lib
running build_py
creating build/bdist.macosx-10.13-x86_64/egg
copying build/lib/.DS_Store -> build/bdist.macosx-10.13-x86_64/egg
creating build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/semaphore_tracker.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
creating build/bdist.macosx-10.13-x86_64/egg/billiard/dummy
copying build/lib/billiard/dummy/__init__.py -> build/bdist.macosx-10.13-x86_64/egg/billiard/dummy
copying build/lib/billiard/dummy/connection.py -> build/bdist.macosx-10.13-x86_64/egg/billiard/dummy
copying build/lib/billiard/queues.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/heap.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/compat.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/_ext.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/reduction.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/util.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/popen_spawn_win32.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/__init__.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/five.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/forkserver.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/einfo.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/connection.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/context.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/common.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/_win.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/spawn.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/synchronize.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/exceptions.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/process.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/sharedctypes.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/popen_fork.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/pool.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/popen_forkserver.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/popen_spawn_posix.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/managers.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
copying build/lib/billiard/resource_sharer.py -> build/bdist.macosx-10.13-x86_64/egg/billiard
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/semaphore_tracker.py to semaphore_tracker.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/dummy/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/dummy/connection.py to connection.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/queues.py to queues.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/heap.py to heap.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/compat.py to compat.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/_ext.py to _ext.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/reduction.py to reduction.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/util.py to util.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/popen_spawn_win32.py to popen_spawn_win32.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/five.py to five.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/forkserver.py to forkserver.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/einfo.py to einfo.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/connection.py to connection.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/context.py to context.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/common.py to common.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/_win.py to _win.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/spawn.py to spawn.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/synchronize.py to synchronize.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/exceptions.py to exceptions.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/process.py to process.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/sharedctypes.py to sharedctypes.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/popen_fork.py to popen_fork.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/pool.py to pool.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/popen_forkserver.py to popen_forkserver.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/popen_spawn_posix.py to popen_spawn_posix.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/managers.py to managers.cpython-36.pyc
byte-compiling build/bdist.macosx-10.13-x86_64/egg/billiard/resource_sharer.py to resource_sharer.cpython-36.pyc
creating build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying billiard.egg-info/PKG-INFO -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying billiard.egg-info/SOURCES.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying billiard.egg-info/dependency_links.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying billiard.egg-info/not-zip-safe -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
copying billiard.egg-info/top_level.txt -> build/bdist.macosx-10.13-x86_64/egg/EGG-INFO
creating 'dist/billiard-3.5.0.2-py3.6.egg' and adding 'build/bdist.macosx-10.13-x86_64/egg' to it
removing 'build/bdist.macosx-10.13-x86_64/egg' (and everything under it)
Processing billiard-3.5.0.2-py3.6.egg
creating /usr/local/lib/python3.6/site-packages/billiard-3.5.0.2-py3.6.egg
Extracting billiard-3.5.0.2-py3.6.egg to /usr/local/lib/python3.6/site-packages
Adding billiard 3.5.0.2 to easy-install.pth file

Installed /usr/local/lib/python3.6/site-packages/billiard-3.5.0.2-py3.6.egg
Processing dependencies for billiard==3.5.0.2
Finished processing dependencies for billiard==3.5.0.2
thedrow commented 6 years ago

Could be MacOS related? Can you try on a VM with a Linux OS?