Python 从错误的目录导入包(在 virtualenv 之外)

Python import package from the wrong directory(outside of the virtualenv)

我在 Ubuntu 服务器上开发我的 virtualenv。当我尝试导入 scipy 时。该模块以某种方式从 virtualenv 外部导入,我不希望这种行为发生。(这就是 virtualenv 的目的,对吧?)

我检查了我正在使用的 python,这是我的 virtualenv

$ which python
/mydir/.venv3.6/bin/python

然后我检查了scipy是否安装在virtualenv

$ which pip
/mydir/.venv3.6/bin/pip
$ pip list
...
scipy    1.3.1 
...

但是,当我导入 scipy 时,它是从 virtualenv 外部导入的。其他模块工作正常。

$ python
Python 3.6.9 (default, Jul  3 2019, 15:36:16)
...
>>> import numpy
>>> import scipy
>>> print(numpy)
<module 'numpy' from '/mydir/.venv3.6/lib/python3.6/site-packages/numpy/__init__.py'>
>>> print(scipy)
<module 'scipy' from '/usr/lib/python3.6/scipy/__init__.py'>

我卸载 scipy 并重新安装,但没有任何变化。 为什么会这样?

我仍然不知道是什么原因造成的。 最后,我创建了一个 Conda 环境。一切都按预期进行。