使用pip freeze安装NumPy

3
我需要安装Numpy版本1.17.1,但每次都会冻结。我现在已经尝试了多次,等待了超过25分钟,看到相同的屏幕。 installation image 这是一个已知的问题还是我在安装时遇到了问题? 我使用的操作系统是树莓派3上的Ubuntu。

尝试使用 pip3 的绝对路径?通常是 usr/bin/(我想)。 - Anthony R
@AnthonyR 是的,pip3 在 /usr/bin/ 中。 - wes
请问这样写 /usr/bin/pip3 install numpy 安装不了吗? - Anthony R
@AnthonyR 我还没有尝试过那个。目前,我正在尝试像andopr建议的那样以sudo pip3 install numpy==1.17.1 --force运行它。我在/urs/bin/目录下,我不确定是否与您建议的相同。但是它已经运行了大约10分钟了,所以我担心也不起作用。 - wes
2个回答

7
长时间的延迟是因为您的 Raspberry Pi 正在编译 numpy。如果想了解底层情况,请使用 pip3 命令,并添加 --verbose 参数。
$ pip3 install --verbose numpy==1.17.1

这将让您更好地理解您所看到的问题。

为了解决这个问题,我建议添加https://www.piwheels.org作为软件包的额外索引,这样您可以在树莓派上获得预编译的wheels,从而节省大量时间。

为了全局添加额外索引到您的系统中,您只需要编辑(或创建)文件/etc/pip.conf并添加以下内容:

[global]
extra-index-url=https://www.piwheels.org/simple

之后,你应该会看到类似于:

$ pip3 install numpy==1.17.1
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting numpy==1.17.1
  Downloading https://www.piwheels.org/simple/numpy/numpy-1.17.1-cp37-cp37m-linux_armv7l.whl (10.5MB)
     |████████████████████████████████| 10.5MB 7.1MB/s 
Installing collected packages: numpy
Successfully installed numpy-1.17.1

注意:已在树莓派4上进行测试。

我已经将行添加到/etc/pip.conf,但pip仍在使用https://files.pythonhosted.org/packages/cb/79/96df883cd6df0c86cb010e6f4ff790b7a30a45016a9509c94ea72c8695cd/numpy-1.17.1.zip我能强制pip使用pip.conf设置吗? - wes
如果出现“Using cached....”的情况,请尝试使用--no-cache-dir选项运行pip。您的缓存位于~/.cache/pip - LeandroN.
我运行了 pip3 install numpy==1.17.1 --no-cache-dir,现在它不再 using cache,而是从 https://files.pythonhosted.org/packages/cb/79/96df883cd6df0c86cb010e6f4ff790b7a30a45016a9509c94ea72c8695cd/numpy-1.17.1.zip 下载,并且没有使用 piwheels。 - wes
我有Python 3.6.8。 - wes
好的。抱歉我忘了提到并非所有版本的Python都支持所有软件包。例如Numpy(https://www.piwheels.org/project/numpy/)适用于Python 3.5(cp35m)和3.7(cp37m)。如果您可以升级到3.7,您可以使用上面的答案。否则您确实需要编译。(最新的Raspbian包括Python 3.7) - LeandroN.
显示剩余2条评论

0
请尝试使用sudo执行该命令。

我不明白为什么这会起作用,因为我已经安装了大约20个其他的软件包而没有它。但是我会尝试。 - wes
当然可以 :) 你可以尝试另一种安装方式,如:'sudo apt-get install python3-numpy'。如果是依赖问题,则此命令会下载所需的所有软件包。 - andopr
@andorp 我尝试了,但Ubuntu给了我一个错误:E: 无法定位软件包numpy - wes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接