我以前有 numpy 工作过。不知道发生了什么,但现在我收到导入错误:
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named numpy
我已尝试按照其他答案中的建议使用 pip 和 apt (导入错误:名为 numpy 的模块)卸载和重新安装 numpy,但这并没有解决我的问题。它说我有最新版本的 numpy:
$ sudo apt install python-numpy
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-numpy is already the newest version (1:1.13.3-2ubuntu1).
The following packages were automatically installed and are no longer required:
libllvm6.0 libllvm6.0:i386 libllvm7 libllvm7:i386
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 79 not upgraded.
$ python -c "import numpy"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named numpy
顺便提一下,numpy 在 python3 中运行良好。
当您在 pip 中安装应用程序时,您必须指定哪个 pip 版本,或者为系统或用户指定。(pip2 用于 Python2,pip3 用于 python3。)此外,还有系统和用户实例。当你安装一个 python 库时,有时你必须指定它是为用户还是为整个系统。例如
此外, pip2 和 pip3 是分开的,不会交叉。
通过一些测试,我发现
sudo apt install python-numpy
为您安装了 python3。对我来说,它是为 python2 而不是 python3 安装的。原因是因为我的系统默认使用python2作为主python。对于某些系统,python3 是要为其安装库的默认 python。所以,我真的建议习惯做pip2
和pip3
安装库。事实证明,我的系统中有两个 python 安装。一个 at 一个 at
/usr/bin
,/usr/local/bin/
前者是系统版本,后者是我前段时间安装的。我使用 pip 或 apt-get 完成的所有软件包的安装和重新安装都与 python 的系统版本相关联,而 python 的路径被定向到自定义安装。因此,每当我从终端打开 python 时,我基本上都是在调用自定义安装,而所有软件包都安装在系统版本中。这导致在导入不同的包时出现错误。一种解决方案是简单地删除本地安装。我所做的另一个解决方案是将符号链接重定向到系统版本,如下所示:
sudo ln -sf /usr/bin/python /usr/local/bin/python
这完成了工作。