问题引起描述
- 以前建立虚拟环境都是用pycharm建立的,在虚拟环境中安装第三方模块也是通过pycharm安装的。
- 有时我也在pycharm建立的venv文件夹下,启动cmd,用pip install **来安装第三方包,以为也是安装在虚拟环境中了(这就是我遇到的坑,其实是安装在全局环境中了,因为没有激活虚拟环境)。
- 最近我又通过pycharm在虚拟环境中安装了xlwings。然后在虚拟环境中启动cmd,启动jupyter(注意我的jupyter 是安装在全局环境中)。然后我以为这就是在虚拟环境中用jupyter 了,当我用xlwings模块时,提醒我没有此模块。
原因:
- 我的jupyter安装在全局环境中,我在虚拟环境中(不管激活与否)启动jupyter,都会在全局环境中启动jupyter,对应的安装包也是全局环境的。
- 之前由于我通过cmd在虚拟环境中安装第三方包时,都没有激活虚拟环境,所以尽管是在虚拟环境文件夹中启动的cmd,安装的第三方包还是安装在了全局环境中。
通过cmd构建虚拟环境
必要性
- 在做不同项目时,所需的包也不一样,有时还有版本限制。所以为了使不同项目有各自的python版本解释器、各自的包,与其他项目的包隔绝起来,虚拟环境就显得尤为重要了。
- 项目完成时,建立的虚拟环境文件夹可以删除,而不会影响其他项目的环境。