<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>I have solved this problem, details in <a href="http://stackoverflow.com/questions/17721226/how-to-debug-into-subprocess-call-in-python" target="_blank">http://stackoverflow.com/questions/17721226/how-to-debug-into-subprocess-call-in-python</a>. So don't waste time anymore, thanks anyway.<br><br><div><hr id="stopSpelling">From: elderry@outlook.com<br>To: tahoe-dev@tahoe-lafs.org<br>Subject: How to track after subprocess.call()?<br>Date: Thu, 18 Jul 2013 17:30:53 +0800<br><br>
<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}
.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}
--></style>
<div dir="ltr">I am trying to understand Tahoe's source code these days, I built it under Arch Linux with Eclipse and PyDev, then set a test grid, everything works well. Then I'd like to execute this command:<div><ul><li>tahoe -d . cp e1 tahoe:</li></ul>I have tested this command in Terminal and it run well, so I entered the Debug mode in Eclipse and try to follow it line by line, however, when it comes to line 119 of $BASE/bin/tahoe:</div><div><ul><li>res = subprocess.call(command, env=os.environ)</li></ul>I checked the variable "command" and realized that this function just throw my command above to script: <span style="font-size:12pt;">$BASE/support/bin/tahoe and try to execute it in a subprocess. So I jumped out of Eclipse, and tried to execute the command through Terminal while under the same directory:</span></div><div><ul><li>$BASE/support/bin/tahoe -d . cp e1 tahoe:</li></ul><div><br></div>Now this is what I got:</div><blockquote style="border:none;padding:0px;"><div><div>Traceback (most recent call last):</div></div><div><div> File "/home/elderry/Projects/git/tahoe-lafs/support/bin/tahoe", line 6, in <module></div></div><div><div> from pkg_resources import load_entry_point</div></div><div><div> File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2850, in <module></div></div><div><div> working_set.require(__requires__)</div></div><div><div> File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 696, in require</div></div><div><div> needed = self.resolve(parse_requirements(requirements))</div></div><div><div> File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 594, in resolve</div></div><div><div> raise DistributionNotFound(req)</div></div><div><div>pkg_resources.DistributionNotFound: allmydata-tahoe==1.10.0.post27</div></div><div><br></div></blockquote>Then I completely lost my direction, where does the subprocess continue to run? I viewed $BASE/support/bin/tahoe and found it's so short, which confused me more. With some hope I set some break points in it in Eclipse, which didn't catch anything.<div><br></div><div>Anyone can help? Thanks anyway.</div> </div></div> </div></body>
</html>