如何从依赖项创建单个python文件

时间:2014-04-20 19:24:17

标签: python

我想从python创建一个单独的文件,仅依赖于python模块,例如numpy,sys等

执行此操作的手动方式是查看每个导入并复制 - >粘贴在该位置导入的任何内容并删除import命令。有没有办法以编程方式或通过eclipse / pydev更快/更快地完成此操作?

我想也许pyc文件会这样做,但那不起作用。

谢谢

编辑:

File1.py

def foo(arg1, arg2):
    return arg1 + arg2**arg1

File2.py

import sys

from File1 import foo

arg1 = sys.argv[1]
arg2 = sys.argv[2]

print foo(arg1, arg2)

NewSingleFile.py请注意,现在而不是from bla import bla我有定义

import sys

def foo(arg1, arg2):
    return arg1 + arg2**arg1

arg1 = sys.argv[1]
arg2 = sys.argv[2]

print foo(arg1, arg2)

1 个答案:

答案 0 :(得分:0)

不幸的是 - 至少在一般情况下 - 这并不重要,因为许多模块(尤其是NumPy等)不是纯Python代码,所以内联它们将非常困难。

对于所有导入都是纯Python的特定情况,可以使用AST模块的某种组合(以解析代码)和" eval" (运行代码)。像这样:

import foo

将转变为:

foo_module = types.ModuleType("foo")
exec """# this is foo.py …""" in foo_module.__dict__
sys.modules["foo"] = foo_module
import foo