使用Py2exe和PyCrypto

2 投票
1 回答
1896 浏览
提问于 2025-04-15 17:11

你可以把 PyCryptopy2exe 一起使用吗?那你能用其他任何库和 py2exe 一起用吗?

谢谢,
Chris

1 个回答

1

我还没发现有什么是py2exe处理不了的,不过有时候它跟不上Python本身的发展进度。比如,之前它对新的绝对导入方式有点问题,但我相信这个问题已经解决了。还有,它对“egg”格式的支持也不太好,不过我不确定这个问题是否也解决了。

我觉得你用它和PyCrypto一起没什么问题,因为这个包跟其他很多正常工作的包比起来,并没有什么特别的地方。它主要是一些纯Python代码加上一些.pyd文件,py2exe对这些处理得很好。下面是一个例子,代码来自PyCrypto网站:

from Crypto.Cipher import DES

def main():
    obj=DES.new('abcdefgh', DES.MODE_ECB)
    plain='Thvqb ina Ebffhz vf n fcnpr nyvra.'.encode('rot13')
    ciph=obj.encrypt(plain+' ' * 6)
    print obj.decrypt(ciph)

if __name__ == '__main__':
    import sys
    if sys.argv[1:] == ['py2exe']:
        from distutils.core import setup
        import py2exe
        setup(console=[dict(script='script.py')],
            options={'py2exe': {'excludes': ['Tkinter'] }})

    else:
        main()

把它保存为 script.py,然后用 script py2exe 来构建,最后用 dist\script 来运行,看看输出结果。

撰写回答