写这篇博客主要原因:由于本人电脑安装比较乱,python版本安装了好几个。当我用
pip3 install moviepy
命令安装moviepy模块时,它自动的把该库安装到了python3.7的环境下,而我的python3默认的是python3.6.所以在终端输入“python3”后,import moviepy
,会报错ModuleNotFoundError: No module named moviepy
的错误。如下图
此时有三种方法进行添加,修正此错误
第一种:函数添加
这种方式只是一次性的,也就是说以后每次在终端中调用该包时,都得用这两个命令先把该包的路径添加进去。
import sys
sys.path.append("yourpath")
**注:**如果你不知道你刚才用pip安装的包放在什么路径,可以用命令pip3 show 包名
就可以得到该包的详细信息,如下图
第二种:修改环境变量
非管理员用户可以修改系统环境变量PYTHONPATH
,修改~/.bashrc文件(若安装了zsh,应该修改zshrc文件),添加内容
export PYTHONPATH=/home/simon/Library:$PYTHONPATH
第三种:增加.pth文件,推荐~
-
首先找到site-pathages文件路径,在终端中运行下列命令:
python3 improt site site.getsitepackages()
输出:[’/usr/local/Cellar/python3/3.6.4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages’, ‘/Library/Python/3.6/site-packages’]
在site-packaegs添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称,然后保存退出就好了
-
重启终端,输入以下命令
python3 improt sys sys.path
可以在输出中看到你刚添加进去的路径,此时就表示成功了,你再调用这个模块就不会再出错了
总结
当然你用pip3安装第三方库时,也可以指定库安装的路径,比如命令格式如下:
pip install --install-option="--install-purelib=/usr/local/lib/python2.7/site-packages" Django==1.11.7