相关疑难解决方法(0)

子进程中'shell = True'的实际含义

我用subprocess模块调用不同的进程.但是,我有一个问题.

在以下代码中:

callProcess = subprocess.Popen(['ls', '-l'], shell=True)
Run Code Online (Sandbox Code Playgroud)

callProcess = subprocess.Popen(['ls', '-l']) # without shell
Run Code Online (Sandbox Code Playgroud)

两者都有效.阅读文档后,我开始知道这shell=True意味着通过shell执行代码.这意味着在缺席的情况下,该过程将直接启动.

那么我应该更喜欢我的情况 - 我需要运行一个进程并获得其输出.从shell内部或外部调用它有什么好处.

python subprocess

236
推荐指数
5
解决办法
14万
查看次数

将 ffmpeg 安装到虚拟环境中

我正在尝试安装ffmpeg以便在 OpenAI 上使用它来录制视频。我已经使用它安装了它,brew install ffmpeg但不知何故,当我编译我的代码时,我得到了同样的错误,就像virtualenv我工作的地方无法识别该包一样。

Python 控制台上的错误:

raise error.DependencyNotInstalled("""Found neither the ffmpeg nor avconv executables. On OS X, you can install ffmpeg via `brew install ffmpeg`. On most Ubuntu variants, `sudo apt-get install ffmpeg` should do it. On Ubuntu 14.04, however, you'll need to install avconv with `sudo apt-get install libav-tools`.""")
Run Code Online (Sandbox Code Playgroud)

但是,当我执行它时,ffmpeg我得到了以下路径/usr/local/bin/ffmpeg

例如,Anaconda似乎需要一个特定的命令来将此包安装到其环境中,virtualenv 也是如此

提前致谢。

python ffmpeg virtualenv

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×2

ffmpeg ×1

subprocess ×1

virtualenv ×1