Python原始输入&;Bazel:EOFError:EOF读取一行时
我试图使用Bazel作为python程序的构建系统。我将使用test.py的一个示例。我的生成文件包括:Python原始输入&;Bazel:EOFError:EOF读取一行时,python,build,stdin,bazel,Python,Build,Stdin,Bazel,我试图使用Bazel作为python程序的构建系统。我将使用test.py的一个示例。我的生成文件包括: package(default_visibility = ["//visibility:public"]) py_binary( name = "test", srcs = [ "test.py", ], main = "test.py", deps = [] ) name = raw_input("Please enter your
package(default_visibility = ["//visibility:public"])
py_binary(
name = "test",
srcs = [
"test.py",
],
main = "test.py",
deps = []
)
name = raw_input("Please enter your name\n")
print "your name is {}".format(name)
我的test.py包括:
package(default_visibility = ["//visibility:public"])
py_binary(
name = "test",
srcs = [
"test.py",
],
main = "test.py",
deps = []
)
name = raw_input("Please enter your name\n")
print "your name is {}".format(name)
当我运行普通编译器时,我得到:
Please enter your name
python
your name is python
但是,当我作为bazel运行时:test
我得到:
回溯(最近一次呼叫最后一次):
文件“[directory]test.[directory]python_test.py”,第1行,在
name=原始输入(“请输入您的姓名”)
EOF:读取一行时的EOF
请输入您的姓名
您使用的是哪个版本的bazel?在旧版本的bazel中,使用bazel run
运行时,bazel客户端不会将standard In连接到二进制文件。您可以通过--direct\u run
连接标准。在和中,直接运行是一个noop
您还可以运行生成的二进制文件本身(在您的示例中,如果构建文件位于工作区的根目录下,它将是
bazel-bin/test
)我相信我在0.7.3
:这也是工作中的一个必需版本。从bazel-bin运行文件对我来说很有用!谢谢