Der folgende Befehl hat nicht funktioniert. Können Sie mir bitte erklären, wie ich das Problem beheben kann?
$ pip install opendr
Collecting opendr
Downloading opendr-0.78.tar.gz (581 kB)
|████████████████████████████████| 581 kB 1.3 MB/s
Requirement already satisfied: Cython in /scratch3/venv/frank/lib/python3.8/site-packages (from opendr) (0.29.22)
Requirement already satisfied: chumpy>=0.58 in /scratch3/venv/frank/lib/python3.8/site-packages (from opendr) (0.70)
Requirement already satisfied: matplotlib in /scratch3/venv/frank/lib/python3.8/site-packages (from opendr) (3.4.0)
Requirement already satisfied: scipy>=0.13.0 in /scratch3/venv/frank/lib/python3.8/site-packages (from chumpy>=0.58->opendr) (1.6.2)
Requirement already satisfied: six>=1.11.0 in /scratch3/venv/frank/lib/python3.8/site-packages (from chumpy>=0.58->opendr) (1.15.0)
Requirement already satisfied: numpy<1.23.0,>=1.16.5 in /scratch3/venv/frank/lib/python3.8/site-packages (from scipy>=0.13.0->chumpy>=0.58->opendr) (1.20.2)
Requirement already satisfied: kiwisolver>=1.0.1 in /scratch3/venv/frank/lib/python3.8/site-packages (from matplotlib->opendr) (1.3.1)
Requirement already satisfied: pyparsing>=2.2.1 in /scratch3/venv/frank/lib/python3.8/site-packages (from matplotlib->opendr) (2.4.7)
Requirement already satisfied: python-dateutil>=2.7 in /scratch3/venv/frank/lib/python3.8/site-packages (from matplotlib->opendr) (2.8.1)
Requirement already satisfied: cycler>=0.10 in /scratch3/venv/frank/lib/python3.8/site-packages (from matplotlib->opendr) (0.10.0)
Requirement already satisfied: pillow>=6.2.0 in /scratch3/venv/frank/lib/python3.8/site-packages (from matplotlib->opendr) (8.1.2)
Building wheels for collected packages: opendr
Building wheel for opendr (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /scratch3/venv/frank/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/scratch/tmp/pip-install-2xl2_aae/opendr_cca5ff679db14567af924447cc43444b/setup.py'"'"'; __file__='"'"'/scratch/tmp/pip-install-2xl2_aae/opendr_cca5ff679db14567af924447cc43444b/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /scratch/tmp/pip-wheel-xb1f2chh
cwd: /scratch/tmp/pip-install-2xl2_aae/opendr_cca5ff679db14567af924447cc43444b/
Complete output (65 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/opendr
copying opendr/__init__.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/camera.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/common.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/cvwrap.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/dummy.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/everything.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/filters.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/geometry.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/lighting.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/occlusion_test.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/renderer.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/serialization.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/simple.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/slider_demo.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_camera.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_depth_renderer.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_geometry.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_renderer.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_sh.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/topology.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/util_tests.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/utils.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/version.py -> build/lib.linux-x86_64-3.8/opendr
creating build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/__init__.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/_constants.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/autogen.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/draw_triangle_shaders_2_1.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/draw_triangle_shaders_3_2.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/fix_warnings.py -> build/lib.linux-x86_64-3.8/opendr/contexts
creating build/lib.linux-x86_64-3.8/opendr/test_dr
copying opendr/test_dr/__init__.py -> build/lib.linux-x86_64-3.8/opendr/test_dr
running build_ext
building 'opendr.contexts.ctx_mesa' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/opendr
creating build/temp.linux-x86_64-3.8/opendr/contexts
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -D__OSMESA__=1 -Iopendr/contexts -I. -I/scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include -Iopendr/contexts/OSMesa/include -I/scratch3/venv/frank/include -I/usr/local/include/python3.8 -c opendr/contexts/ctx_mesa.c -o build/temp.linux-x86_64-3.8/opendr/contexts/ctx_mesa.o -lstdc++
In file included from /scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1944:0,
from /scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from opendr/contexts/ctx_mesa.c:660:
/scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it with " \
^~~~~~~
opendr/contexts/ctx_mesa.c: In function ‘__pyx_pf_6opendr_8contexts_8ctx_mesa_13OsContextBase_150ShaderSource’:
opendr/contexts/ctx_mesa.c:13144:49: warning: passing argument 3 of ‘glShaderSource’ from incompatible pointer type [-Wincompatible-pointer-types]
glShaderSource(__pyx_v_shader, __pyx_v_count, (&__pyx_v_s), (&__pyx_v_len));
^
In file included from opendr/contexts/OSMesa/include/GL/gl.h:2085:0,
from opendr/contexts/gl_includes.h:10,
from opendr/contexts/ctx_mesa.c:668:
opendr/contexts/OSMesa/include/GL/glext.h:5794:21: note: expected ‘const GLchar ** {aka const char **}’ but argument is of type ‘char **’
GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
^~~~~~~~~~~~~~
gcc -pthread -shared build/temp.linux-x86_64-3.8/opendr/contexts/ctx_mesa.o -Lopendr/contexts/OSMesa/lib -lOSMesa -lGL -lGLU -o build/lib.linux-x86_64-3.8/opendr/contexts/ctx_mesa.cpython-38-x86_64-linux-gnu.so -lstdc++
/usr/bin/ld: cannot find -lOSMesa
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for opendr
Running setup.py clean for opendr
Failed to build opendr
Installing collected packages: opendr
Running setup.py install for opendr ... error
ERROR: Command errored out with exit status 1:
command: /scratch3/venv/frank/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/scratch/tmp/pip-install-2xl2_aae/opendr_cca5ff679db14567af924447cc43444b/setup.py'"'"'; __file__='"'"'/scratch/tmp/pip-install-2xl2_aae/opendr_cca5ff679db14567af924447cc43444b/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /scratch/tmp/pip-record-q52my77n/install-record.txt --single-version-externally-managed --compile --install-headers /scratch3/venv/frank/include/site/python3.8/opendr
cwd: /scratch/tmp/pip-install-2xl2_aae/opendr_cca5ff679db14567af924447cc43444b/
Complete output (65 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/opendr
copying opendr/__init__.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/camera.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/common.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/cvwrap.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/dummy.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/everything.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/filters.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/geometry.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/lighting.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/occlusion_test.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/renderer.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/serialization.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/simple.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/slider_demo.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_camera.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_depth_renderer.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_geometry.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_renderer.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/test_sh.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/topology.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/util_tests.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/utils.py -> build/lib.linux-x86_64-3.8/opendr
copying opendr/version.py -> build/lib.linux-x86_64-3.8/opendr
creating build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/__init__.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/_constants.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/autogen.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/draw_triangle_shaders_2_1.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/draw_triangle_shaders_3_2.py -> build/lib.linux-x86_64-3.8/opendr/contexts
copying opendr/contexts/fix_warnings.py -> build/lib.linux-x86_64-3.8/opendr/contexts
creating build/lib.linux-x86_64-3.8/opendr/test_dr
copying opendr/test_dr/__init__.py -> build/lib.linux-x86_64-3.8/opendr/test_dr
running build_ext
building 'opendr.contexts.ctx_mesa' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/opendr
creating build/temp.linux-x86_64-3.8/opendr/contexts
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -D__OSMESA__=1 -Iopendr/contexts -I. -I/scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include -Iopendr/contexts/OSMesa/include -I/scratch3/venv/frank/include -I/usr/local/include/python3.8 -c opendr/contexts/ctx_mesa.c -o build/temp.linux-x86_64-3.8/opendr/contexts/ctx_mesa.o -lstdc++
In file included from /scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1944:0,
from /scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from opendr/contexts/ctx_mesa.c:660:
/scratch3/venv/frank/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it with " \
^~~~~~~
opendr/contexts/ctx_mesa.c: In function ‘__pyx_pf_6opendr_8contexts_8ctx_mesa_13OsContextBase_150ShaderSource’:
opendr/contexts/ctx_mesa.c:13144:49: warning: passing argument 3 of ‘glShaderSource’ from incompatible pointer type [-Wincompatible-pointer-types]
glShaderSource(__pyx_v_shader, __pyx_v_count, (&__pyx_v_s), (&__pyx_v_len));
^
In file included from opendr/contexts/OSMesa/include/GL/gl.h:2085:0,
from opendr/contexts/gl_includes.h:10,
from opendr/contexts/ctx_mesa.c:668:
opendr/contexts/OSMesa/include/GL/glext.h:5794:21: note: expected ‘const GLchar ** {aka const char **}’ but argument is of type ‘char **’
GLAPI void APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
^~~~~~~~~~~~~~
gcc -pthread -shared build/temp.linux-x86_64-3.8/opendr/contexts/ctx_mesa.o -Lopendr/contexts/OSMesa/lib -lOSMesa -lGL -lGLU -o build/lib.linux-x86_64-3.8/opendr/contexts/ctx_mesa.cpython-38-x86_64-linux-gnu.so -lstdc++
/usr/bin/ld: cannot find -lOSMesa
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /scratch3/venv/frank/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/scratch/tmp/pip-install-2xl2_aae/opendr_cca5ff679db14567af924447cc43444b/setup.py'"'"'; __file__='"'"'/scratch/tmp/pip-install-2xl2_aae/opendr_cca5ff679db14567af924447cc43444b/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /scratch/tmp/pip-record-q52my77n/install-record.txt --single-version-externally-managed --compile --install-headers /scratch3/venv/frank/include/site/python3.8/opendr Check the logs for full command output.
Ich habe:
$ python
Python 3.8.5 (default, Mar 31 2021, 02:37:07)
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux
Und
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009
Codename: Core
Antwort1
Momentan,die neueste Version von Opendr, die auf PyPI aufgeführt ist(woher pip
die Dateien gezogen werden) ist Version 0.78. Diese Version listet nur Python 2 als unterstützt auf, während Sie Python 3 verwenden. Der direkteste Weg zur Installation von opendr wäre, eine virtuelle Python-Umgebung mit z. B. Python 2.7 zu erstellen und opendr in dieser Umgebung zu installieren (unter Beiseitelassen aller anderen potenziellen Probleme).
Ich muss Opendr für Python 3 installieren.
Dann möchten Sie wahrscheinlich etwas wie " googeln.Opendr Python 3". Dies gibt Ergebnisse wiedieses GitHub-ProblemUnddieses GitHub-Problemdie das Thema diskutieren. Kurz gesagt, es scheint mindestens eine Methode zu geben, Opendr mit einigen zusätzlichen Softwarepaketen zu installieren (CentOS wird nicht direkt besprochen), während die andere Möglichkeit darin besteht, einen Fork des Projekts zu installieren.
Aufgelistete Forks (Python 3)
Als kleine Anmerkung: Es scheint, dass die OSMesa-API ein Knackpunkt sein könnte. Sie wird in beiden GitHub-Problemen oben indirekt erwähnt.diese Stack Overflow-Frageund Ihre eigene Fehlerausgabe.