Windows 上的 Fabfile 路径问题

发布于 2024-11-05 00:17:17 字数 593 浏览 1 评论 0原文

我正在尝试使用 Fabric 和 Mercurial 部署我的网站。在 Windows 命令行中,运行 hg Push 可以完美运行,没有任何问题。

但是当我尝试

local("hg push")

在 fabfile 中写入并运行它时,出现错误:

'"hg push"' is not recognized as an internal or external command, operable program or batch file. 

谷歌搜索让我知道这可能是 Python 子进程中的 PATH 变量的问题,例如这里:为什么“命令无法识别” “错误仅在填充窗口时发生?

你能帮我一下吗?是 Fabric 中的错误还是我自己的代码中的错误?

谢谢。

I'm trying to deploy my site using Fabric and Mercurial. In the Windows command line, running hg push works perfectly with no problems.

But when I try writing

local("hg push")

in a fabfile and running it, I get the error:

'"hg push"' is not recognized as an internal or external command, operable program or batch file. 

Googling gave me an idea that it might be a problem with the PATH variable in Python subprocesses, for example here: Why would an "command not recognized" error occur only when a window is populated?.

Can you help me out? Is the bug in Fabric or in my own code?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

感性 2024-11-12 00:17:18

听起来您需要将 Mercurial 添加到 Fabric 进程的 PATH 中。

也许是这样的:

fabric.context_managers.path(<path to your hg.exe>)
run('hg push')

请参阅 的文档路径上下文管理器。目前尚不清楚 path 是否适用于 local 命令,但明确引用了 run 命令。

It sounds like the you need to add Mercurial to the Fabric process's PATH.

Maybe something like:

fabric.context_managers.path(<path to your hg.exe>)
run('hg push')

See the docs for the path context manager. It wasn't clear if path applies to local commands, but run commands are explicitly referenced.

浅语花开 2024-11-12 00:17:18

提供的修复均无效,但更改

local("hg Push")

os.system("hg push")

解决问题。

Neither of the fixes provided worked, but changing

local("hg push")

to

os.system("hg push")

solved the problem.

生死何惧 2024-11-12 00:17:17

正如 Chris R 提到的,我们没有提供大量的 Windows 支持,因为核心开发人员都不是 Windows 用户;我们必须依赖更精明的 Windows 用户的报告和建议。

听起来这可能与这个最近修复但未发布的错误有关 -它将出现在 Fabric 1.0.2 中,很快就会发布。如果您有勇气,现在可以通过以下方式进行测试:

pip install -e git+git://github.com/bitprophet/[email protected]#egg=Fabric

如果您随后执行 fab -V ,它应该显示它是 1.0.2a - 如果是这样,运行您的 fabfile 可能会工作得更好。如果您这样做,请告诉我们!

As Chris R mentions, we don't do a ton of Windows support as none of the core devs are Windows users; we have to rely on reports and suggestions from our more savvy Windows users.

It sounds like this could be related to this recently fixed, but not released, bug -- it will be in Fabric 1.0.2 which should be out soon. If you're feeling brave, you can test it out now via:

pip install -e git+git://github.com/bitprophet/[email protected]#egg=Fabric

If you then do fab -V, it should say it's 1.0.2a -- if so, running your fabfile may work better. Please let us know if you do this!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文