我安装了Python3.6,如下所述:
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
然后我按如下方式安装了numpy:
sudo apt-get install python3-numpy
我想我可以从 Python3.5 导入 numpy,但不能从 Python3.6
Python 3.6.5 (default, Mar 29 2018, 03:28:50)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/numpy/__init__.py", line 180, in <module>
from . import add_newdocs
File "/usr/lib/python3/dist-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python3/dist-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/usr/lib/python3/dist-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python3/dist-packages/numpy/core/__init__.py", line 14, in <module>
from . import multiarray
ImportError: cannot import name 'multiarray'
如何解决这个问题?
你可能
numpy
只为你的 python3.5 安装了。numpy
您可以尝试安装和使用pip
.这是python的包管理器。您可以使用它来安装各种 python 库,例如
numpy
.然后用它
numpy
为你的python3.6安装。安装
pip
:pip
使用以下命令安装:注意:您可能会收到
Permission denied
错误消息。在这种情况下,只需在您的命令前加上sudo
例如:然后输入您的终端
pip3.6
以检查您是否正确安装了它。它应该列出所有可用的参数。这里一般有两种选择。
选项 1 -
numpy
全局安装numpy
专门为python3.6安装:注意:同样,如果您收到权限错误,请在命令前加上
sudo
:输出:
注意:此方法的缺点是您已
numpy
全局安装,这可能会在将来的某个时候导致不良影响,例如不同版本的麻烦。选项 2 - 使用虚拟环境:
这种方法允许您创建一个隔离的 Python 环境,如果您愿意,可以创建一个沙箱,您可以在其中安装 Python 包,而无需过多担心依赖关系、版本和权限。
首先,您需要安装创建虚拟环境所需的模块:
再次检查安装是否成功:
应该打印没有任何错误消息的版本。
现在为 python3.6 创建一个虚拟环境(仅供参考 - 有多种方法可以实现):
例如
导航到该目录。它里面应该有几个目录。我们正在寻找
bin
目录。现在您需要激活该虚拟环境:
虚拟环境的名称应出现在终端的左侧,例如:
它表示虚拟环境当前处于活动状态。
好的,现在您需要安装
numpy
:输出:
现在启动你的 Python shell 并尝试导入它:
应该没有错误。
您现在可以继续您的工作。
完成后,您可以停用虚拟环境。只需输入:
左侧的指示器应该消失了。
如果您的虚拟环境出现问题,只需删除包含它的目录并重新开始。
注意:使用虚拟环境的缺点是您总是需要激活和停用它们,但它大大减少了弄乱全局安装的库和设置的变化。
我有完全相同的问题。我的 Ubuntu 系统上安装了 python3.6 和 python3.7。我使用 pip3 安装了 numpy。当我尝试在 python3.7 中导入 numpy 时,我遇到了同样的错误。
我观察到以下是 /user/bin/pip3 中的第 1 行是
#!/usr/bin/python3
我的 python3 指向 /usr/bin/python3.6
以下为我工作:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/<python version> 1
这将使 pip3 适用于您想要的 python3 版本
sudo pip3 uninstall numpy
sudo pip3 install numpy
这行得通!
我有同样的问题,我通过
numpy
如下更新包修复了这个错误:sudo pip install -U numpy
[注意]:
如果之后您遇到此错误:
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
执行以下命令: