我使用的是 Linux Mint 21.2,我使用 pip 安装了 numpy:
pip install numpy
。我收到以下消息:
Defaulting to user installation because normal site-packages is not writeable
Collecting numpy
Downloading numpy ...
Installing collected packages: numpy
WARNING: The script f2py is installed in '/home/***/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed numpy-1.26.2
然后我检查了
python3 -m pip list -v
,几乎所有包裹都在/usr/lib/python3/dist-packages
中。 numpy
的位置是/home/***/.local/lib/python3.10/site-packages pip
。
这是什么意思?我什至不知道
f2py
是什么。我做错什么了吗?我在 /home/***/
的某个随机目录中。当我执行 pip install some-library
时,我应该在特定目录中吗?我可以以某种方式将 numpy 移动到 /usr/lib/python3/dist-packages
因为所有其他包似乎都在那里吗?
它作为 NumPy 的一部分安装。 NumPy 之所以有它,是因为 NumPy 的许多线性代数例程都是用 Fortran 编写的,而 f2py 提供了外部函数接口来调用它们。如果您想从 Python 调用您自己的 Fortran 代码,它也会被安装。您可以从 NumPy 手册了解更多相关信息。
关于警告:一些Python包被用作独立的命令行工具,而不仅仅是作为Python程序的一部分。程序 f2py 就是其中之一。通常,您会在终端输入
f2py
,这将运行 f2py。但是,由于 pip 安装这些的目录不在您的 $PATH 上,因此这将不起作用。
您可以执行以下两件事之一:
确定您不关心使用 f2py。 NumPy 仍将正常工作,但您无法添加任何新的 Fortran 代码。
将 pip 的
.local/bin
目录添加到 $PATH 中。以下是一个答案的链接,解释了如何在 Linux 上的 Bash 中执行此操作。 https://stackoverflow.com/a/74751638/530160
如果您使用不同的 shell,例如 Zsh,则需要编辑不同的文件。