如何在Python虚拟环境中安装非Python软件 FFmpeg make install报错如何处理
错误原因
Python虚拟环境仅作用于Python解释器、Python依赖包、pip安装的组件,无法自动修改手动编译类软件的默认安装路径。
FFmpeg编译时如果未指定安装前缀,默认安装路径为系统全局路径/usr/local/,普通用户默认没有该路径的写入权限,因此触发权限报错,与是否激活Python虚拟环境无关。
报错信息:
mkdir: cannot create directory ‘/usr/local/share/doc’: Permission denied
解决方案
方案1:安装到Python虚拟环境内
- 先清理之前的编译缓存,执行:
make clean - 重新执行configure配置,指定安装前缀为你的Python虚拟环境绝对路径,示例如下:
./configure --prefix=/home/your_name/.virtualenvs/your_env
将上述路径替换为你实际使用的虚拟环境的完整路径 - 重新执行编译和安装:
make -j$(nproc) make install
- 验证:激活虚拟环境后执行
ffmpeg -version,正常输出版本信息即为安装成功。
方案2:安装到当前用户专属目录(无需sudo权限)
如果不需要绑定虚拟环境,也可以指定安装到当前用户的本地目录:
- 配置时指定前缀:
./configure --prefix=~/.local - 编译安装完成后,将
~/.local/bin添加到当前用户的PATH环境变量即可正常调用。
内容的提问来源于stack exchange,提问作者code0x00
相关产品推荐
相关产品推荐

