提交 fb445ae6 authored 作者: Gabe Schwartz's avatar Gabe Schwartz

Python 3 popen() outputs are bytes, need to decode.

上级 a8457f6b
...@@ -9,6 +9,7 @@ import warnings ...@@ -9,6 +9,7 @@ import warnings
import numpy import numpy
from theano.compat import decode, decode_iter
from theano.gof import local_bitwidth from theano.gof import local_bitwidth
from theano.gof.cc import hash_from_file from theano.gof.cc import hash_from_file
from theano.gof.cmodule import (std_libs, std_lib_dirs, from theano.gof.cmodule import (std_libs, std_lib_dirs,
...@@ -69,10 +70,13 @@ def is_nvcc_available(): ...@@ -69,10 +70,13 @@ def is_nvcc_available():
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
p.wait() p.wait()
s = p.stdout.readlines()[-1].split(',')[1].strip().split()
assert s[0] == 'release' ver_line = decode(p.stdout.readlines()[-1])
build, version = ver_line.split(',')[1].strip().split()
assert build == 'release'
global nvcc_version global nvcc_version
nvcc_version = s[1] nvcc_version = version
try: try:
set_version() set_version()
return True return True
...@@ -354,7 +358,7 @@ class NVCC_compiler(object): ...@@ -354,7 +358,7 @@ class NVCC_compiler(object):
os.chdir(location) os.chdir(location)
p = subprocess.Popen( p = subprocess.Popen(
cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
nvcc_stdout, nvcc_stderr = p.communicate()[:2] nvcc_stdout, nvcc_stderr = decode_iter(p.communicate()[:2])
finally: finally:
os.chdir(orig_dir) os.chdir(orig_dir)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论