2

在 Windows 7 的 hello world 应用程序上运行新安装的 Trigger.io,我在这样做时得到了这个:

    forge run web


File "C:\Users\john.jesus\AppData\Local\Trigger Toolkit\build-tools\forge\async.py", line 96, in run
result = self._target(*self._args, **self._kwargs)
File "C:\Users\john.jesus\AppData\Local\Trigger Toolkit\build-tools\forge\main.py", line 437, in run
build_to_run=build_to_run,
File "C:\Users\john.jesus\forge-workspace\helloworld\.template\generate_dynamic\customer_goals.py", line 124, in run_app
build_to_run.run()
File "C:\Users\john.jesus\forge-workspace\helloworld\.template\generate_dynamic\build.py", line 337, in run
self._call_with_params(task_method, task_args)
File "C:\Users\john.jesus\forge-workspace\helloworld\.template\generate_dynamic\build.py", line 296, in _call_with_params
return method(self, *params)
File "C:\Users\john.jesus\forge-workspace\helloworld\.template\generate_dynamic\web_tasks.py", line 141, in run_web
env=dict(os.environ, PORT=str(port), FORGE_DEBUG='1'))
File "C:\Users\john.jesus\forge-workspace\helloworld\.template\generate_dynamic\web_tasks.py", line 98, in _node
run_shell(node, *args, **kw)
File "C:\Users\john.jesus\forge-workspace\helloworld\.template\generate_dynamic\utils.py", line 338, in run_shell
raise state.error

TypeError: environment can only contain strings
4

2 回答 2

0

我遇到了完全相同的问题 - 似乎是因为 Python 无法处理 POpen 环境字典中的 unicode。更多信息在这里:

如果“env”参数包含 unicode 对象,为什么 Popen 在 Windows 上会失败?

我编辑了

C:\Users\mattc\forge-workspace\prototype-app.template\generate_dynamic\module_dynamic\utils.py

并更改第 304 行以删除环境变量的传递,这样我就有了:

state.proc = lib.PopenWithoutNewConsole(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=None, preexec_fn=preexec_fn)

然后我的 forge-web 工作了,我能够运行它。不过,并不完全确定这是“正确”的修复方法,但它可以让它继续下去。

于 2013-08-02T09:04:48.807 回答
-1

指向文件时是否转义斜杠?例如:C:\folder\filename 而不是 C:\folder\filename?

于 2012-10-23T16:26:00.560 回答