[Debian-olpc-devel] Finding dependencies of Python code
Jonas Smedegaard
dr at jones.dk
Tue Nov 10 12:29:16 UTC 2009
On Fri, Nov 06, 2009 at 06:51:13PM +0100, Jonas Smedegaard wrote:
>On Fri, Nov 06, 2009 at 06:19:19PM +0100, Sascha Silbe wrote:
>>On Fri, Nov 06, 2009 at 05:39:41PM +0100, Jonas Smedegaard wrote:
>>>If anyone knows about a tool to extract all "import" statements
>>>in Python code, I would much appreciate it!
>>find -name "*.py" |xargs grep -h import |sort -u
>
>Yeah - better than nothing. Some time ago I wrote a loooong perl
>one-liner doing above + some kinds of calling shell commands, but
>then by seession dies and with it the one-liner which off course
>wasn't written down anywhere yet and didn't even gt saved to the bash
>history :-(
Here's an improvement of above which simplifies simple import statements
and includes filename for indented ones which are potentially trickier
(it might be try-encapsulated statements that should then lead to
recommends or suggests rather than hard depends):
find * -name "*.py" -exec grep -H '\bimport\b' {} \; | perl -pe 's/^[^:]+:(?:from\s+(\S+)|import\s+(\S+)).*/$1/; s/^(?=[^:]+:)/A /' | sort -u
I still need to reinvent the parts scanning for external binaries
executed from inside Python code.
Help appreciated!
>>The "magic" stuff should usually be safe to ignore as it's for
>>loading plugins, not external dependencies (AFAICT at least).
>
>What "magic"? I lost you there.
Please do elaborate.
Kind regards,
- Jonas
--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
[x] quote me freely [ ] ask before reusing [ ] keep private
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/debian-olpc-devel/attachments/20091110/8743cb1b/attachment.pgp>
More information about the Debian-olpc-devel
mailing list