我正在运行 Ubuntu 14.04。我有 scipy 0.13.3,我想升级它。
我努力了:
sudo pip3 install scipy --upgrade
但我收到这个错误:
creating build/lib.linux-x86_64-3.4/scipy/_build_utils
copying scipy/_build_utils/__init__.py ->
build/lib.linux-x86_64-3.4/scipy/_build_utils
copying scipy/_build_utils/_fortran.py ->
build/lib.linux-x86_64-3.4/scipy/_build_utils
running build_clib
customize UnixCCompiler
customize UnixCCompiler using build_clib
building 'dfftpack' library
Running from scipy source directory.
"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])
"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])
"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])
"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])
"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])
"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])
error: library dfftpack has Fortran sources but no Fortran compiler found
----------------------------------------
Rolling back uninstall of scipy Cleaning up...
Command /usr/bin/python3 -c "import setuptools,
tokenize;__file__='/tmp/pip_build_root/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), file__,
'exec'))" install --record /tmp/pip-h0l8itnj-record/install-record.txt
--single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/scipy Storing debug log for failure in /home/donbeo/.pip/pip.log
donbeo@donbeo-HP-EliteBook-Folio-9470m:~$
python3
我该如何解决这个问题?我正在安装几乎全新的 Ubuntu 14.04。
答案1
我在新安装的 14.04 上遇到了同样的错误。我通过确保安装了所有 scipy 依赖项来修复此问题:
sudo apt-get install python-pip python-dev build-essential libatlas-base-dev gfortran
我认为这是sudo apt-get install gfortran
必要的。如果你先尝试一下并告诉我们结果如何,那将会很有帮助。
这是来自这个帖子:https://www.kaggle.com/c/avazu-ctr-prediction/forums/t/12478/kaggler-python-package-for-kaggler
答案2
我在 Stack Overflow 上看到您的问题:如何在 Windows 上的 winpython 中更新 scipy?,您希望将 scipy 更新到 0.14 版。有一种比使用 pip3 更简单的方法可以将 python3-scipy 0.13.3 升级到 python3-scipy 0.14.0。
卸载 python3-scipy。
sudo apt-get remove python3-scipy
下载适用于 Ubuntu 14.10 的 python3-scipy 软件包。
访问http://packages.ubuntu.com/utopic/python3-scipy,选择与您的操作系统架构相匹配的python3-scipy版本,选择镜像,下载python3-scipy .deb文件。安装适用于 Ubuntu 14.10 的 python3-scipy 软件包。
双击下载的 python3-scipy .deb 文件,在 Ubuntu 软件中心将其打开,然后像安装其他软件包一样进行安装。适用于 Ubuntu 14.10 的 python3-scipy .deb 文件与 Ubuntu 软件中心的 python3-scipy 软件包具有相同的依赖软件包版本,因此它应该可以毫无问题地安装在 Ubuntu 14.04 中。
在 Ubuntu 16.04 中,可以从默认的 Ubuntu 存储库安装 python3-scipy 0.16.1。