虚拟环境中的ModuleNotFoundError

时间:2020-06-26 20:14:53

标签: python virtual-environment

我开始使用虚拟环境,并且遇到了某种路径问题。

首先,我创建一个虚拟环境:

python -m venv conda-env
.\conda-env\Scripts\activate

(conda-env)出现在提示中。

现在我安装一个软件包:

pip install netcdf4
pip list
Package    Version
---------- -------
cftime     1.1.3
netCDF4    1.5.3
numpy      1.19.0
pip        19.2.3
setuptools 41.2.0

一切都很好。现在,如果我启动控制台并尝试加载该模块,事情就会变得一团糟:

jupyter console
In [1]: import netCDF4
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-9588a3d4fb24> in <module>
----> 1 import netCDF4

ModuleNotFoundError: No module named 'netCDF4'

但是,如果我从site-packages目录运行控制台,则以下命令将正常运行。

cd .\conda-env\Lib\site-packages\
jupyter console
import netCDF4

edit1: 如果我在虚拟环境中安装了jupyter,就可以解决此问题。

pip install jupyter

我不明白。我需要为每个虚拟环境执行此操作吗?

edit2: 如果我直接使用python,而不是使用jupyter控制台,我不会遇到此问题。下面的代码在test.py带有一行import netCDF4的地方起作用。

python -m venv venv
./venv/Scripts/activate
pip install netCDF4
python test.py

编辑3 在Mac上,pip install jupyter无法解决问题。我很困惑。

0 个答案:

没有答案