这是一个创建于 3542 天前的主题,其中的信息可能已经有所发展或是发生改变。
最近因为工作需要,需要把一些代码移打包并且植到virtualenv环境下。
但是因为代码比较陈旧,几百个py文件被放在了n个目录下面,外加上没有留下requirement.txt 所以打包成egg文件很难。
目前在做的就是依赖关系的检查,换句话说就是检查import的包是不是系统自带的。
以及完成打包后,是否不会影响项目的运行。
现在方法写的很土就是找import语句,用imp去检查包是否存在,再用exec去执行这个import语句。
检测包还是比较简单的,但是在语法分析上面的难度还是很大,要做很多的parse。
比如imp检测的时候 from os.path import exists 就需要把os.path后面的path去掉。
还有一些换行之后的东西。或者是代码中存在的try:import。。。。 except: import。。。。
是否有软件可以帮助把陈旧的代码打包成模块呢?
1 条回复 • 2015-02-26 15:11:56 +08:00