为什么我不能从命令行使用pip包?

时间:2020-09-06 15:49:35

标签: python windows cmd pip

我得到以下输出,这使我发疯。我在Windows上使用pip 20.2.2和Python 3.9.0rc1,但是对于Python 3.8.5来说是相同的

C:\Users\chad>pip install ffmpeg
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: ffmpeg in c:\users\chad\appdata\roaming\python\python39\site-packages (1.4)

C:\Users\chad>ffmpeg
'ffmpeg' is not recognized as an internal or external command,
operable program or batch file.

我的Path用户变量如下:

%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;%PyCharm Community Edition%;C:\Program Files\Python38;C:\Users\chad\AppData\Roaming\Python;C:\Users\chad\AppData\Roaming\Python\Python38\site-packages;C:\Users\chad\AppData\Roaming\Python\Python38\site-packages\;C:\Users\chad\AppData\Roaming\Python\Python39\Scripts;c:\users\chad\appdata\roaming\python\python39\site-packages;

我的Path系统变量如下:

C:\Program Files\Python39\Scripts\;C:\Program Files\Python39\;%INTEL_DEV_REDIST%redist\intel64\compiler;C:\Program Files\Python38\Scripts\;C:\Program Files\Python38\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;C:\Users\chad\AppData\Roaming\Python;C:\Users\chad\AppData\Roaming\Python\Python38\site-packages\;C:\Users\chad\AppData\Roaming\Python\Python39\Scripts;c:\users\chad\appdata\roaming\python\python39\site-packages;

3 个答案:

答案 0 :(得分:0)

不要混淆Python模块(需要运行python解释器)和一个包含已编译源代码或机器代码(然后可以自由运行)的二进制文件。

Pip是python的软件包管理器,然后安装python的模块。

PS:对于ffmpeg,根据您的操作系统,可以使用程序包管理器进行安装并保持更新。在macOS上,brew install ffmepg可以完成工作

答案 1 :(得分:0)

ffmpeg是 python模块,您只能在运行时使用 python解释器

将其导入
Python 2.7.18rc1 (default, Apr  7 2020, 12:05:55) 
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ffmpeg
>>> 

在您的情况下,您尝试在 CMD 中作为Windows命令运行 ffmpeg ,但出现错误

答案 2 :(得分:0)

卢克的答案是正确的。您不能只添加任何二进制文件并将其用于python。

但是人们一直致力于使某些应用程序直接在python中可用,而FFmpeg就是其中之一。这是github for the project,这是the pypi page

现在使用它代替FFmpeg是个好主意吗?这取决于。 如果要执行简单的视频编码和任务,请继续使用python绑定(将FFmpeg链接到python命令)。但是请记住,它们只是调用FFmpeg命令,因此FFmpeg始终会更强大。此外,使用python绑定使您依赖于项目背后的开发人员。在这种情况下,自2019年以来Github并没有真正更新过,因此如果遇到错误,您可能不会获得支持,并且新功能可能不会很快发布。