我在Ubuntu 18.04机器上使用pip安装mlpy包:
所有要求的依赖项都已安装,但出现了下面的编译错误。我也尝试了直接下载包并通过它进行安装,得到的错误是一样的。
mlpy包版本:0.1.0,Python版本:3.6
以下是命令:
pip3 install mlpy
我尝试使用mlpy包中的setup.py进行安装
python3 setup.py install
以下是处理信息:
Collecting mlpy Downloading https://files.pythonhosted.org/packages/93/3c/be8ccff2aa3e5ce3b922cff026aadc62d3a671168e42616b1e0b8eccba12/mlpy-0.1.0.tar.gz (4.4MB)Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (from mlpy)Requirement already satisfied: numpy>=1.6.2 in /usr/local/lib/python3.6/dist-packages (from mlpy)Requirement already satisfied: scikit-learn in /usr/local/lib/python3.6/dist-packages (from mlpy)Requirement already satisfied: scipy>=0.11 in /usr/local/lib/python3.6/dist-packages (from mlpy)Requirement already satisfied: six>=1.9.0 in /usr/lib/python3/dist-packages (from mlpy)Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->mlpy)Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->mlpy)Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib->mlpy)Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->mlpy)Requirement already satisfied: pytz in /usr/lib/python3/dist-packages (from matplotlib->mlpy)Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from kiwisolver>=1.0.1->matplotlib->mlpy)Installing collected packages: mlpy Running setup.py install for mlpy: started Running setup.py install for mlpy: finished with status 'error' Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-l2ob_og8/mlpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-anrvg2fg-record/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/mlpy copying mlpy/__init__.py -> build/lib.linux-x86_64-3.6/mlpy running egg_info writing mlpy.egg-info/PKG-INFO writing dependency_links to mlpy.egg-info/dependency_links.txt writing requirements to mlpy.egg-info/requires.txt writing top-level names to mlpy.egg-info/top_level.txt reading manifest file 'mlpy.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.sdf' found under directory 'mlpy/libs' warning: no previously-included files matching '*.sln' found under directory 'mlpy/libs' warning: no previously-included files matching '*.suo' found under directory 'mlpy/libs' warning: no previously-included files matching '*.exp' found under directory 'mlpy/libs' warning: no previously-included files matching '*.ilk' found under directory 'mlpy/libs' warning: no previously-included files matching '*.lib' found under directory 'mlpy/libs' warning: no previously-included files matching '*pdb' found under directory 'mlpy/libs' warning: no previously-included files matching '__pycache__' found under directory '*' no previously-included directories found matching 'mlpy/libs/classifier/classifier' no previously-included directories found matching 'mlpy/libs/hmmc/hmmc' no previously-included directories found matching 'docs/build' no previously-included directories found matching 'docs/generated' writing manifest file 'mlpy.egg-info/SOURCES.txt' creating build/lib.linux-x86_64-3.6/mlpy/agents copying mlpy/agents/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/agents copying mlpy/agents/fsm.py -> build/lib.linux-x86_64-3.6/mlpy/agents copying mlpy/agents/modules.py -> build/lib.linux-x86_64-3.6/mlpy/agents copying mlpy/agents/world.py -> build/lib.linux-x86_64-3.6/mlpy/agents creating build/lib.linux-x86_64-3.6/mlpy/auxiliary copying mlpy/auxiliary/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary copying mlpy/auxiliary/array.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary copying mlpy/auxiliary/datasets.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary copying mlpy/auxiliary/datastructs.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary copying mlpy/auxiliary/io.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary copying mlpy/auxiliary/misc.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary copying mlpy/auxiliary/plotting.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary creating build/lib.linux-x86_64-3.6/mlpy/cluster copying mlpy/cluster/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/cluster copying mlpy/cluster/vq.py -> build/lib.linux-x86_64-3.6/mlpy/cluster creating build/lib.linux-x86_64-3.6/mlpy/constants copying mlpy/constants/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/constants copying mlpy/constants/_constants.py -> build/lib.linux-x86_64-3.6/mlpy/constants creating build/lib.linux-x86_64-3.6/mlpy/environments copying mlpy/environments/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/environments copying mlpy/environments/gridworld.py -> build/lib.linux-x86_64-3.6/mlpy/environments copying mlpy/environments/nao.py -> build/lib.linux-x86_64-3.6/mlpy/environments creating build/lib.linux-x86_64-3.6/mlpy/environments/webots creating build/lib.linux-x86_64-3.6/mlpy/environments/webots/controllers creating build/lib.linux-x86_64-3.6/mlpy/environments/webots/controllers/serverc copying mlpy/environments/webots/controllers/serverc/serverc.py -> build/lib.linux-x86_64-3.6/mlpy/environments/webots/controllers/serverc creating build/lib.linux-x86_64-3.6/mlpy/experiments copying mlpy/experiments/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/experiments copying mlpy/experiments/task.py -> build/lib.linux-x86_64-3.6/mlpy/experiments creating build/lib.linux-x86_64-3.6/mlpy/knowledgerep copying mlpy/knowledgerep/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep creating build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr copying mlpy/knowledgerep/cbr/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr copying mlpy/knowledgerep/cbr/engine.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr copying mlpy/knowledgerep/cbr/features.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr copying mlpy/knowledgerep/cbr/methods.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr copying mlpy/knowledgerep/cbr/similarity.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr creating build/lib.linux-x86_64-3.6/mlpy/learners copying mlpy/learners/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/learners creating build/lib.linux-x86_64-3.6/mlpy/learners/offline copying mlpy/learners/offline/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/learners/offline copying mlpy/learners/offline/irl.py -> build/lib.linux-x86_64-3.6/mlpy/learners/offline creating build/lib.linux-x86_64-3.6/mlpy/learners/online copying mlpy/learners/online/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/learners/online copying mlpy/learners/online/rl.py -> build/lib.linux-x86_64-3.6/mlpy/learners/online creating build/lib.linux-x86_64-3.6/mlpy/libs copying mlpy/libs/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/libs copying mlpy/libs/classifier.pyd -> build/lib.linux-x86_64-3.6/mlpy/libs copying mlpy/libs/hmmc.pyd -> build/lib.linux-x86_64-3.6/mlpy/libs copying mlpy/libs/noconflict.py -> build/lib.linux-x86_64-3.6/mlpy/libs creating build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/array_helper.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/array_helper.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/c45tree.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/c45tree.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/classifier.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/classifier.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/classifier_module.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/classifier_module.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/coord.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/coord.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/random.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier copying mlpy/libs/classifier/random.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier creating build/lib.linux-x86_64-3.6/mlpy/libs/hmmc copying mlpy/libs/hmmc/hmm.c -> build/lib.linux-x86_64-3.6/mlpy/libs/hmmc copying mlpy/libs/hmmc/hmm.h -> build/lib.linux-x86_64-3.6/mlpy/libs/hmmc copying mlpy/libs/hmmc/hmmc_module.c -> build/lib.linux-x86_64-3.6/mlpy/libs/hmmc copying mlpy/libs/hmmc/hmmc_module.h -> build/lib.linux-x86_64-3.6/mlpy/libs/hmmc mlpy/libs/classifier/classifier_module.cc:33:7: error: ‘Py_InitModule3’ was not declared in this scope m = Py_InitModule3("classifier", ClassifierMethods, "Classification module"); ^~~~~~~~~~~~~~ mlpy/libs/classifier/classifier_module.cc:33:7: note: suggested alternative: ‘Py_Initialize’ m = Py_InitModule3("classifier", ClassifierMethods, "Classification module"); ^~~~~~~~~~~~~~ Py_Initialize mlpy/libs/classifier/classifier_module.cc:34:18: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive] if (m == NULL) return; ^~~~~~ mlpy/libs/classifier/classifier_module.cc:37:4: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive] return; ^~~~~~ error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ----------------------------------------Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-l2ob_og8/mlpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-anrvg2fg-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-l2ob_og8/mlpy/
回答: