【问题标题】:How to run a python command from inside a python script?如何从 python 脚本中运行 python 命令?
【发布时间】:2014-01-09 09:24:11
【问题描述】:

我正在使用 python 2.7.6 运行 windows 7 x64,并且我刚刚按照以下说明安装了 s3cmd 工具:s3cmd win7 installation

问题是,虽然我的路径上有 python 目录和 python 脚本,但我不能直接运行 s3cmd。所以,如果我触发一个 cmd 并输入:

python - 有效!

但是如果我输入

s3cmd

python s3cmd

即使我的 python 脚本目录包含文件 s3cmd,它们都失败了:

在 s3cmd 的情况下,错误是 s3cmd is not recognized as external command or executable etc...(我在这里翻译是因为错误出现在非英语语言环境中)。在 python s3cmd 的情况下,错误是:python: can't open file 's3cmd': [Errno 2] No such file or directory.

理想情况下,我想从我正在编写的 python 脚本运行 s3cmd,而不是直接从 cmd 调用它,但是我很乐意接受任何类型的输入......!

谢谢。

【问题讨论】:

  • 他们都失败了 - 怎么样?错误信息是什么?
  • s3cmd 的情况下,错误是s3cmd is not recognized as external command or executable 等等...(我在这里翻译是因为错误出现在非英语语言环境中)。在python s3cmd 的情况下,错误是:python: can't open file 's3cmd': [Errno 2] No such file or directory
  • 好的,这意味着s3cmd不在Windows路径中,并且当前目录中没有名为s3cmd的文件。

标签: python python-2.7 cmd environment-variables s3cmd


【解决方案1】:

如果使用 s3cmd 的完整路径会发生什么:

python C:\path to s3\s3cmd

如果路径包含空格,您可能需要添加引号:

python "C:\path to s3\s3cmd"

【讨论】:

    【解决方案2】:

    我在他们的网站上看到了这条评论: 您可以使用 %* 参数创建一个批处理脚本来运行它,例如:

    @python C:\s3\s3cmd %*

    你试过了吗?

    【讨论】:

    • 这行不通。这个命令究竟做了什么? @ 符号是什么,%* 代表什么?
    • @Konos5:@ 表示不回显,%* 表示包含 .bat 文件的所有参数。
    【解决方案3】:

    错误消息表示脚本 s3cmd 不在路径上。

    详情请看这个问题:Adding directory to PATH Environment Variable in Windows

    【讨论】:

      【解决方案4】:

      这在 Windows 2008 Server 上对我有用:

      • 设置 python 2.x - 不支持 Python 3
      • 从 www.s3tools.org 下载 s3cmd
      • 将“C:\python2x\”添加到全局路径
      • 将“C:\Python2x\Scripts\”添加到您的全局路径
      • 从 s3cmd 路径运行“python setup.py install”(下载路径,例如:C:\Users\testuser\Downloads\S3cmd-1.6.0)
      • 将“C:\Python2x\Scripts\s3cmd”重命名为“C:\Python2x\Scripts\s3cmd.py”(注意:我们将不带任何扩展名的“s3cmd”重命名为“s3cmd.py”)
      • 现在您应该可以在任何地方运行“s3cmd.py”了:)

      【讨论】:

        猜你喜欢
        • 2021-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多