我遇到的问题是没有把包安装在虚拟环境里,以jieba包为例
在虚拟环境下输入python,然后可以导入这个包。我们以为包装好了,其实这个包是安装在了基本环境里。
使用conda list查看当前环境装的包的时候,其实并没有jieba这个包。
conda list
忘记截图了,,,
所以需要使用虚拟环境的pip 安装jieba。
在确认把包装在虚拟环境之后,切换到python环境也不能靠单纯敲python命令。而是要用虚拟环境的python,和前面的那个pip一样。
举个例子,现在有两个文件,test.py和test.sh。然后分别用命令行和脚本执行test.py文件打印当前pytorch的版本,看看输出的结果是怎样的。
test.py
import torch
print(torch.__version__)
test.sh
python test.py
可以发现在虚拟环境打印出来的pip版本,和bash脚本里打印的不一样。
所以我虽然把jieba装到了pytorch1.4环境里,直接用的这个命令并不是pytorch1.4的python,而是基本环境的python。
总结:
- 是否把包装到了要装环境
- 用到的python解释器是不是这个包所在环境的解释器
网上找了很多方法,算是一种可能情况的补充吧。