本文整理汇总了Python中nuitka.Tracing类的典型用法代码示例。如果您正苦于以下问题:Python Tracing类的具体用法?Python Tracing怎么用?Python Tracing使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Tracing类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: createModuleTree
def createModuleTree(module, source_ref, source_code, is_main):
if Options.isShowProgress():
memory_watch = Utils.MemoryWatch()
module_body = buildParseTree(
provider = module,
source_code = source_code,
source_ref = source_ref,
is_module = True,
is_main = is_main
)
if module_body.isStatementsFrame():
module_body = makeStatementsSequenceFromStatement(
statement = module_body,
)
module.setBody(module_body)
completeVariableClosures(module)
if Options.isShowProgress():
memory_watch.finish()
Tracing.printLine(
"Memory usage changed loading module '%s': %s" % (
module.getFullName(),
memory_watch.asStr()
)
)
示例2: createModuleTree
def createModuleTree(module, source_ref, source_code, is_main):
if Options.isShowProgress():
memory_watch = Utils.MemoryWatch()
try:
module_body = buildParseTree(
provider=module, source_code=source_code, source_ref=source_ref, is_module=True, is_main=is_main
)
except RuntimeError as e:
if "maximum recursion depth" in e.args[0]:
raise CodeTooComplexCode(module.getFullName(), module.getCompileTimeFilename())
raise
if module_body.isStatementsFrame():
module_body = makeStatementsSequenceFromStatement(statement=module_body)
module.setBody(module_body)
completeVariableClosures(module)
if Options.isShowProgress():
memory_watch.finish()
Tracing.printLine("Memory usage changed loading module '%s': %s" % (module.getFullName(), memory_watch.asStr()))
示例3: runScons
def runScons( options, quiet ):
# For the scons file to find the static C++ files and include path. The scons file is
# unable to use __file__ for the task.
os.environ[ "NUITKA_SCONS" ] = getSconsDataPath()
if os.name == "nt":
# On Windows this Scons variable must be set by us.
os.environ[ "SCONS_LIB_DIR" ] = Utils.joinpath( getSconsInlinePath(), "lib", "scons-2.0.1" )
# Also, for MinGW we can avoid the user having to add the path if he used the
# default path or installed it on the same drive by appending to the PATH variable
# before executing scons.
os.environ[ "PATH" ] += r";\MinGW\bin;C:\MinGW\bin"
scons_command = """%(python)s %(binary)s %(quiet)s -f %(scons_file)s --jobs %(job_limit)d %(options)s""" % {
"python" : sys.executable if Utils.python_version < 300 else "python",
"binary" : getSconsBinaryPath(),
"quiet" : "--quiet" if quiet else "",
"scons_file" : Utils.joinpath( getSconsDataPath(), "SingleExe.scons" ),
"job_limit" : Options.getJobLimit(),
"options" : " ".join( "%s=%s" % ( key, value ) for key, value in options.items() )
}
if Options.isShowScons():
Tracing.printLine( "Scons command:", scons_command )
return 0 == os.system( scons_command )
示例4: createModuleTree
def createModuleTree(module, source_ref, source_filename, is_main):
if Options.isShowProgress():
memory_watch = Utils.MemoryWatch()
source_code = readSourceCodeFromFilename( source_filename )
module_body = buildParseTree(
provider = module,
source_code = source_code,
source_ref = source_ref,
is_module = True,
is_main = is_main
)
module.setBody( module_body )
completeVariableClosures( module )
if Options.isShowProgress():
memory_watch.finish()
Tracing.printLine(
"Memory usage changed loading module '%s': %s" % (
module.getFullName(),
memory_watch.asStr()
)
)
示例5: dump
def dump(xml):
value = toString(xml).rstrip()
if Utils.python_version >= 300:
value = value.decode("utf-8")
Tracing.printLine(value)
示例6: runScons
def runScons(options, quiet):
with setupSconsEnvironment():
scons_command = buildSconsCommand(quiet, options)
if Options.isShowScons():
Tracing.printLine("Scons command:", ' '.join(scons_command))
return subprocess.call(scons_command, shell = False) == 0
示例7: onEnterNode
def onEnterNode(self, node):
try:
self._onEnterNode(node)
except Exception:
Tracing.printError(
"Problem with %r at %s"
% (node, node.getSourceReference().getAsString())
)
raise
示例8: runScons
def runScons(options, quiet):
# For the scons file to find the static C++ files and include path. The
# scons file is unable to use __file__ for the task.
os.environ["NUITKA_SCONS"] = getSconsDataPath()
if Utils.getOS() == "Windows":
# On Windows this Scons variable must be set by us.
os.environ["SCONS_LIB_DIR"] = Utils.joinpath(
getSconsInlinePath(),
"lib",
"scons-2.3.0"
)
# Also, for MinGW we can avoid the user having to add the path if he
# used the default path or installed it on the same drive by appending
# to the PATH variable before executing scons.
os.environ["PATH"] += r";\MinGW\bin;C:\MinGW\bin"
scons_command = getSconsBinaryCall()
if quiet:
scons_command.append("--quiet")
scons_command += [
# The scons file
"-f",
Utils.joinpath(getSconsDataPath(), "SingleExe.scons"),
# Parallel compilation.
"--jobs",
str(Options.getJobLimit()),
# Do not warn about deprecations of Scons
"--warn=no-deprecated",
# Don't load "site_scons" at all.
"--no-site-dir",
]
if Options.isShowScons():
scons_command.append("--debug=explain")
# Option values to provide to scons.
for key, value in options.items():
scons_command += [key + "=" + value]
if Options.isShowScons():
Tracing.printLine("Scons command:", " ".join(scons_command))
return 0 == subprocess.call(scons_command)
示例9: runScons
def runScons(options, quiet):
# For the scons file to find the static C++ files and include path. The
# scons file is unable to use __file__ for the task.
os.environ["NUITKA_SCONS"] = getSconsDataPath()
if Utils.getOS() == "Windows":
# On Windows this Scons variable must be set by us.
os.environ["SCONS_LIB_DIR"] = Utils.joinpath(
getSconsInlinePath(),
"lib",
"scons-2.3.2"
)
scons_command = getSconsBinaryCall()
if quiet:
scons_command.append("--quiet")
scons_command += [
# The scons file
"-f",
Utils.joinpath(getSconsDataPath(), "SingleExe.scons"),
# Parallel compilation.
"--jobs",
str(Options.getJobLimit()),
# Do not warn about deprecations of Scons
"--warn=no-deprecated",
# Don't load "site_scons" at all.
"--no-site-dir",
]
if Options.isShowScons():
scons_command.append("--debug=explain")
# Option values to provide to scons.
for key, value in options.items():
scons_command += [key + "=" + value]
if Options.isShowScons():
Tracing.printLine("Scons command:", " ".join(scons_command))
return 0 == subprocess.call(scons_command, shell = False)
示例10: runScons
def runScons( options, quiet ):
# For the scons file to find the static C++ files and include path. The scons file is
# unable to use __file__ for the task.
os.environ[ "NUITKA_SCONS" ] = getSconsDataPath()
if os.name == "nt":
# On Windows this Scons variable must be set by us.
os.environ[ "SCONS_LIB_DIR" ] = Utils.joinpath( getSconsInlinePath(), "lib", "scons-2.0.1" )
# Also, for MinGW we can avoid the user having to add the path if he used the
# default path or installed it on the same drive by appending to the PATH variable
# before executing scons.
os.environ[ "PATH" ] += r";\MinGW\bin;C:\MinGW\bin"
# Scons is Python2 only, so we need to make the system find a suitable Python binary.
if Utils.python_version < 300:
python_exe = sys.executable
elif os.name == "nt":
if os.path.exists( r"c:\Python27\python.exe" ):
python_exe = r"c:\Python27\python.exe"
elif os.path.exists( r"c:\Python26\python.exe" ):
python_exe = r"c:\Python26\python.exe"
else:
sys.exit( """Error, need to find Python2 executable under C:\\Python26 or \
C:\\Python27 to execute scons which is not Python3 compatible.""" )
else:
python_exe = "python"
scons_command = """%(python)s %(binary)s %(quiet)s --warn=no-deprecated -f %(scons_file)s --jobs %(job_limit)d %(options)s""" % {
"python" : python_exe,
"binary" : getSconsBinaryPath(),
"quiet" : "--quiet" if quiet else "",
"scons_file" : Utils.joinpath( getSconsDataPath(), "SingleExe.scons" ),
"job_limit" : Options.getJobLimit(),
"options" : " ".join( "%s=%s" % ( key, value ) for key, value in options.items() )
}
if Options.isShowScons():
Tracing.printLine( "Scons command:", scons_command )
return 0 == os.system( scons_command )
示例11: dumpActiveTraces
def dumpActiveTraces(self):
Tracing.printSeparator()
Tracing.printLine("Active are:")
for variable, _version in sorted(self.variable_actives.iteritems()):
self.getVariableCurrentTrace(variable).dump()
Tracing.printSeparator()
示例12: onStatement
def onStatement(self, statement):
try:
assert statement.isStatement(), statement
new_statement, change_tags, change_desc = statement.computeStatement(self)
# print new_statement, change_tags, change_desc
if new_statement is not statement:
self.signalChange(
change_tags, statement.getSourceReference(), change_desc
)
return new_statement
except Exception:
Tracing.printError(
"Problem with statement at %s:\n-> %s"
% (
statement.source_ref.getAsString(),
readSourceLine(statement.source_ref),
)
)
raise
示例13: dump
def dump(self, level = 0):
Tracing.printIndented(level, self)
Tracing.printSeparator(level)
for visitable in self.getVisitableNodes():
visitable.dump(level + 1)
Tracing.printSeparator(level)
示例14: getDependsExePath
def getDependsExePath():
""" Return the path of depends.exe (for Windows).
Will prompt the user to download if not already cached in AppData
directory for Nuitka.
"""
if Utils.getArchitecture() == "x86":
depends_url = "http://dependencywalker.com/depends22_x86.zip"
else:
depends_url = "http://dependencywalker.com/depends22_x64.zip"
if "APPDATA" not in os.environ:
sys.exit("Error, standalone mode cannot find 'APPDATA' environment.")
nuitka_app_dir = os.path.join(os.environ["APPDATA"], "nuitka")
if not Utils.isDir(nuitka_app_dir):
os.makedirs(nuitka_app_dir)
nuitka_depends_zip = os.path.join(
nuitka_app_dir,
os.path.basename(depends_url)
)
if not Utils.isFile(nuitka_depends_zip):
Tracing.printLine("""\
Nuitka will make use of Dependency Walker (http://dependencywalker.com) tool
to analyze the dependencies of Python extension modules. Is it OK to download
and put it in APPDATA (no installer needed, cached, one time question).""")
reply = raw_input("Proceed and download? [Yes]/No ")
if reply.lower() in ("no", "n"):
sys.exit("Nuitka does not work in --standalone on Windows without.")
info("Downloading '%s'" % depends_url)
urlretrieve(
depends_url,
nuitka_depends_zip
)
nuitka_depends_dir = os.path.join(
nuitka_app_dir,
Utils.getArchitecture()
)
if not Utils.isDir(nuitka_depends_dir):
os.makedirs(nuitka_depends_dir)
depends_exe = os.path.join(
nuitka_depends_dir,
"depends.exe"
)
if not Utils.isFile(depends_exe):
info("Extracting to '%s'" % depends_exe)
import zipfile
try:
depends_zip = zipfile.ZipFile(nuitka_depends_zip)
depends_zip.extractall(nuitka_depends_dir)
except Exception: # Catching anything zip throws, pylint:disable=W0703
info("Problem with the downloaded zip file, deleting it.")
Utils.deleteFile(depends_exe, must_exist = False)
Utils.deleteFile(nuitka_depends_zip, must_exist = True)
sys.exit(
"Error, need '%s' as extracted from '%s'." % (
depends_exe,
depends_url
)
)
assert Utils.isFile(depends_exe)
return depends_exe
示例15: dumpTraces
def dumpTraces(self):
Tracing.printSeparator()
self.parent.dumpTraces()
Tracing.printSeparator()