2013-10-31 16 views
5

我在mac osx上的python中制作应用程序10.8.5我通过使用py2app将python脚本转换为应用程序。但是,在应用程序中,On Show Package Contents-->Contents-->Resources原始代码存在。我不想通过发布我的应用程序作为安全问题向其他人展示我的代码。我使用(.pyc)代码删除了(.py)代码,在这种情况下,应用程序无法正常工作。 请为它提供一些方法,我也在其他问题上搜索,但没有得到期望的结果。我的setup.py是由py2app提供的应用程序中的Python代码

from setuptools import setup 

APP=['myapp.py'] 
DATA_FILES= [('',['config.cfg'])] 
OPTIONS={'iconfile':'cc.icns','argv_emulation': True,'plist':{'CFBundleShortVersionString':'1.0'}} 

setup(
    app=APP, 
    data_files=DATA_FILES, 
    options={'py2app': OPTIONS}, 
    setup_requires=['py2app'] 
    ) 

回答

1

最简单的解决方法是在myapp.py移动代码到另一个模块和导入模块中myapp.py。

请注意,主脚本以外的模块只能进行字节编译(如.pyc文件),并且这些文件仍然可以轻松转换为源代码。

字节编译脚本文件是我的待办事项列表上,但更复杂,只是由.pyc文件的文件替换.py文件,你noticted :-)

+0

是否有这样做的任何其他方式。我想要更多的安全性。导入模块时,在time.sleep(2)中显示错误为'属性错误':'NoneType'对象没有属性sleep – imp

+0

“我想要更多的安全性。” - 请注意,没有“安全”代码。你可以对它进行模糊处理,编译,用任何你喜欢的语言编写,但是如果有人在意足够的东西来找出它里面的东西,它们总是可以反编译和再混合它,即使是一个简单的'strings'命令,你可以希望得到的最多的东西就是努力剔除比它的价值更大的麻烦 – foo

+0

@foo ok导入模块时,在time.sleep(2)中显示错误为'属性错误':' NoneType'对象没有属性睡眠,有想法为什么它显示 – imp

相关问题