<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:10pt"><div id="yiv6269390368"><div><div style="color: rgb(0, 0, 0); font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">I have figured out how to use coverage.py with jython with some work-arounds.</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">This is a lengthy explanation. &nbsp;There were multiple problems</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><br clear="none" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">1. &nbsp;The jython install instructions did not specify putting jython on
 the path.</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">When I did that I could run jython directly, rather than via Java as I wrote in my first post.</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>jython TestClassForName.py</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><br clear="none" class="yiv6269390368" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">2. &nbsp;However, I still could not run coverage using jython. &nbsp;I got this error</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>C:\cygwin64\home\cbannan\python&gt;coverage run TestClassForName.py</div><div class="yiv6269390368"
 id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>Traceback (most recent call last):</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp;File "TestClassForName.py", line 6, in &lt;module&gt;</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">                </span>from java.lang import Class</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>ImportError: No
 module named java.lang</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><br clear="none" class="yiv6269390368" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">Java could not be found by coverage</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><br clear="none" class="yiv6269390368" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">3. &nbsp;When I installed coverage, I installed it using the Windows installer -- coverage-3.7.1-cp27-none-win32.whl</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">The jython site suggests running python in these ways. &nbsp;</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>./python -m coverage</div><div
 class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>./python COVERAGEDIR run --pylib Lib/test/regrtest.py</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><br clear="none" class="yiv6269390368" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">While I think these are instructions for getting code coverage of jython itself, they gave me an idea</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">I tried ./jython -m coverage, but it failed as follows</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>Traceback (most recent call last):</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368"
 style="white-space:pre;">        </span> &nbsp;File "&lt;string&gt;", line 1, in &lt;module&gt;</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp;File "C:\jython2.7b2\Lib\runpy.py", line 170, in run_module</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">                </span>mod_name, loader, code, fname = _get_module_details(mod_name)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp;File "C:\jython2.7b2\Lib\runpy.py", line 103, in _get_module_details</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">                </span>raise ImportError("No module named %s" % mod_name)</div><div
 class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>ImportError: No module named coverage</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><br clear="none" class="yiv6269390368" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">My coverage install does not have coveragepy, just the coverage.exe. &nbsp;So I installed coverage again using hg, as suggested on on they Jython site</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">I then hunted for coveragepy and found a directory of that name. &nbsp;Looking for a python file to run, I guessed an tried
 __main__.py</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">That let me run coverage via jython for everything except the coverage html command as follows</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>jython C:\cygwin64\home\cbannan\coveragepy\__main__.py help</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>jython C:\cygwin64\home\cbannan\coveragepy\__main__.py erase</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>jython C:\cygwin64\home\cbannan\coveragepy\__main__.py run TestClassForName.py</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368"
 style="white-space:pre;">        </span></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">4. &nbsp;I suspect that is not how it is intended to be used, but it works, except, again, for the
 html option</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">That fails, as follows:</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\__main__.py", line 8, in &lt;module&gt;</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; run_globals = runpy.run_module(PKG, run_name='__main__', alter_sys=True)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\__main__.py", line 8, in &lt;module&gt;</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>
 &nbsp; run_globals = runpy.run_module(PKG, run_name='__main__', alter_sys=True)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">
        </span> File "C:\jython2.7b2\Lib\runpy.py", line 175, in run_module</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; return _run_module_code(code, init_globals, run_name,</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\jython2.7b2\Lib\runpy.py", line 81, in _run_module_code</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; _run_code(code, mod_globals, init_globals,</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\jython2.7b2\Lib\runpy.py", line 72, in _run_code</div><div class="yiv6269390368"
 id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; exec code in run_globals</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\__main__.py", line 4, in &lt;module&gt;</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; sys.exit(main())</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\cmdline.py", line 747, in main</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; status =
 CoverageScript().command_line(argv)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\cmdline.py", line 747, in main</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; status =
 CoverageScript().command_line(argv)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\cmdline.py", line 465, in command_line</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; total = self.coverage.html_report(</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\control.py", line 689, in html_report</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; return reporter.report(morfs)</div><div class="yiv6269390368"
 id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\html.py", line 109, in report</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; self.report_files(self.html_file, morfs, self.config.html_dir)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\report.py", line 82, in report_files</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; report_fn(cu, self.coverage._analyze(cu))</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span
 class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\report.py", line 82, in report_files</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; report_fn(cu, self.coverage._analyze(cu))</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\control.py", line 619, in _analyze</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; return Analysis(self, it)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File
 "C:\cygwin64\home\cbannan\coveragepy\coverage\results.py", line 20, in __init__</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; self.statements, self.excluded = self.parser.parse_source()</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\parser.py", line 217, in parse_source</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp;
 self._raw_parse()</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\parser.py", line 217, in parse_source</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; self._raw_parse()</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\parser.py", line 112, in _raw_parse</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; self.excluded = self.lines_matching(self.exclude)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4"
 style=""><span class="yiv6269390368" style="white-space:pre;">        </span> File "C:\cygwin64\home\cbannan\coveragepy\coverage\parser.py", line 99, in lines_matching</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span> &nbsp; for i, ltext in enumerate(self.lines, start=1):</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span>TypeError: enumerate() takes at most 1 arguments (2 given)</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><span class="yiv6269390368" style="white-space:pre;">        </span></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">To generate the coverage html, I reverted to the recommended command:<span class="yiv6269390368" style="white-space:pre;">        </span>coverage html</div><div
 class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><br clear="none" class="yiv6269390368" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">I think I have some bugs to log, i.e. for jython doc and for coverage</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style=""><br clear="none" class="yiv6269390368" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_4" style="">Thanks for
 your help.</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_1_1407325360881_14386" style=""><br clear="none" class="yiv6269390368" id="yiv6269390368yui_3_16_0_1_1407325360881_14385" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_6" style=""></div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_8" style="">&nbsp;</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_10" style="">Chris<br clear="none" class="yiv6269390368" style="">cmbannan@yahoo.com</div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_20" style=""><br></div><div class="qtdSeparateBR"><br><br></div><div class="yiv6269390368yqt3215885560" id="yiv6269390368yqt80894"><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_7_1407325360881_15" style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt;"><div
 class="yiv6269390368" id="yiv6269390368yui_3_16_0_1_1407325360881_8257" style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"><div class="yiv6269390368" dir="ltr" id="yiv6269390368yui_3_16_0_1_1407325360881_8256" style="">  </div><div class="yiv6269390368" id="yiv6269390368yui_3_16_0_1_1407325360881_8258" style=""><br clear="none" class="yiv6269390368" style=""></div> </div> </div></div>  </div></div></div></div></body></html>