Я пытаюсь install gevent==1.1.2
(я знаю, что это старая версия, но она требуется от Odoo для правильной работы) на Mojave 10.14.6, но она продолжает давать сбой при настройке. Я использую Python3 .6.5 и пип 19.3.1.
Вот полная ошибка:
(venv) SlyK@MB.local:~/Coding/Odoo/11.0$ pip3 install gevent==1.1.2
Collecting gevent==1.1.2
Using cached https://files.pythonhosted.org/packages/43/8f/cb3224a0e6ab663547f45c10d0651cfd52633fde4283bf68d627084df8cc/gevent-1.1.2.tar.gz
Requirement already satisfied: greenlet>=0.4.9 in ./venv/lib/python3.6/site-packages (from gevent==1.1.2) (0.4.10)
Installing collected packages: gevent
Running setup.py install for gevent ... error
ERROR: Command errored out with exit status 1:
command: /Users/SlyK/Coding/Odoo/11.0/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py'"'"'; __file__='"'"'/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-record-8hpfz0el/install-record.txt --single-version-externally-managed --compile --install-headers /Users/SlyK/Coding/Odoo/11.0/venv/include/site/python3.6/gevent
cwd: /private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/
Complete output (109 lines):
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-x86_64-3.6
creating build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/queue.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/greenlet.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/backdoor.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_semaphore.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/pywsgi.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/event.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/server.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/thread.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_util_py2.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/signal.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_ssl3.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/util.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/builtins.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/local.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/threadpool.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/subprocess.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_socketcommon.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/coros.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/timeout.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_corecffi_build.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/os.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/__init__.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/core.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_ssl2.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/fileobject.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_fileobjectcommon.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/hub.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_socket2.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/threading.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/win32util.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/resolver_ares.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/baseserver.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/corecffi.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_fileobjectposix.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/lock.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_sslgte279.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_socket3.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/monkey.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/select.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_threading.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/ssl.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/socket.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/pool.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/resolver_thread.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/wsgi.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
copying gevent/_tblib.py -> build/lib.macosx-10.9-x86_64-3.6/gevent
running build_ext
Running '(cd "/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/libev" && /bin/sh ./configure && cp config.h "$OLDPWD" ) > configure-output.txt' in /private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/build/temp.macosx-10.9-x86_64-3.6/libev
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
Referenced from: /usr/local/bin/awk
Reason: image not found
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
Referenced from: /usr/local/bin/awk
Reason: image not found
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
Referenced from: /usr/local/bin/gawk
Reason: image not found
./config.status: line 1166: 81287 Done(141) eval sed \"\$ac_sed_extra\" "$ac_file_inputs"
81288 Abort trap: 6 | $AWK -f "$ac_tmp/subs.awk" > $ac_tmp/out
config.status: error: could not create Makefile
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py", line 516, in <module>
run_setup(ext_modules, run_make=run_make)
File "/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py", line 502, in run_setup
**setup_kwds
File "/Users/SlyK/Coding/Odoo/11.0/venv/lib/python3.6/site-packages/setuptools-39.1.0-py3.6.egg/setuptools/__init__.py", line 129, in setup
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/Users/SlyK/Coding/Odoo/11.0/venv/lib/python3.6/site-packages/setuptools-39.1.0-py3.6.egg/setuptools/command/install.py", line 61, in run
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/command/install.py", line 545, in run
self.run_command('build')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py", line 305, in build_extension
self.gevent_prepare(ext)
File "/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py", line 302, in gevent_prepare
configure(self, ext)
File "/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py", line 196, in configure_libev
rc = _system(libev_configure_command)
File "/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py", line 172, in _system
return check_call(cmd, shell=True)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '(cd "/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/libev" && /bin/sh ./configure && cp config.h "$OLDPWD" ) > configure-output.txt' returned non-zero exit status 1.
----------------------------------------
ERROR: Command errored out with exit status 1: /Users/SlyK/Coding/Odoo/11.0/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py'"'"'; __file__='"'"'/private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-install-0yoh2f4j/gevent/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/r1/qds_yjnx5xvb1w_fbbxcj_m00000gn/T/pip-record-8hpfz0el/install-record.txt --single-version-externally-managed --compile --install-headers /Users/SlyK/Coding/Odoo/11.0/venv/include/site/python3.6/gevent Check the logs for full command output.
Чего мне не хватает?
PS Я смог заставить его работать, создав две программные ссылки следующим образом:
ln -s /usr/local/opt/readline/lib/libreadline.8.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.0.dylib
, но я уверен, что должен быть лучший способ ...