虚拟环境找不到scipy

Virtual environment cannot find scipy

我只是在新的 Mac 上设置 python 和 PyCharm。我有一些我想要 运行 使用 numpy 和 scipy 的代码。使用终端,我创建了一个虚拟环境并激活了它: source ~/PycharmProjects/TernaryTest/venv/bin/activate.

我在 PyCharm IDE 中导航到这个环境,尝试 运行ning 我的程序(它导入了 numpy 但还没有 scipy),但出现错误: ModuleNotFoundError: No module named 'numpy'.

此时,我回到终端,导航到虚拟环境并激活它,运行: pip3 install numpy。 PyCharm 中的程序 运行s 没有问题。现在我修改代码以还要求导入 scipy:

import numpy
import scipy
...

相同ModuleNotFoundError: No module named 'scipy'。我重复了对 numpy 有效的过程,但仍然出现相同的错误。

尝试在虚拟环境中额外使用 pip3 以获得 scipy 结果:

Requirement already satisfied: scipy in ./PycharmProjects/TernaryTest/venv/lib/python3.7/site-packages (1.4.1)
Requirement already satisfied: numpy>=1.13.3 in ./PycharmProjects/TernaryTest/venv/lib/python3.7/site-packages (from scipy) (1.18.1)

此外,scipy 出现在 PyCharm IDE 中,安装在 site-packages 目录中,就在 numpy 旁边。重新启动各种程序不会导致任何改进的行为。

有人可以帮我纠正这种情况吗?谢谢!

你有没有尝试强制?

pip3 install --force-reinstall scipy

这不是一个令人满意的答案,但我是这样得到代码的 运行:

deactivate venv
pip3 install scipy

然后,我重新激活 venv,代码就可以工作了。不可否认,这没有多大意义,因为我需要在虚拟环境中 scipy 但必须退出环境才能成功安装。