2013-10-31 12 views
5

Tôi đang tạo một ứng dụng trong python trên mac osx 10.8.5 Tôi đã chuyển đổi tập lệnh python thành một ứng dụng bằng cách sử dụng py2app. Nhưng, trong ứng dụng, trên Show Package Contents-->Contents-->Resources mã ban đầu là hiện tại. Tôi không muốn hiển thị mã của mình cho người khác bằng cách phân phối ứng dụng của tôi dưới dạng vấn đề bảo mật. Tôi đã xóa mã (.py) bằng mã .pyc, trong trường hợp đó ứng dụng không hoạt động đúng cách. Vui lòng đề xuất một số cách để tìm kiếm. Tôi cũng tìm kiếm các câu hỏi khác nhưng không nhận được kết quả mong muốn. Setup.py của tôi làMã Python có trong ứng dụng được tạo bởi py2app

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'] 
    ) 

Trả lời

1

Cách giải quyết dễ nhất là di chuyển mã trong myapp.py sang mô-đun khác và nhập mô-đun đó vào myapp.py.

Lưu ý rằng các mô-đun khác với tập lệnh chính chỉ được biên dịch byte (dưới dạng tệp .pyc) và các tệp đó vẫn có thể dễ dàng được chuyển thành mã nguồn.

Byte-biên dịch các tập tin kịch bản nằm trong danh sách todo của tôi, nhưng là phức tạp hơn mà chỉ thay thế một tệp py bởi một tập tin pyc như bạn noticted :-)

+0

Có cách nào khác để làm việc đó. Tôi muốn bảo mật hơn. Trong khi nhập mô-đun, có lỗi hiển thị trong time.sleep (2) dưới dạng 'Lỗi thuộc tính': đối tượng 'NoneType' không có thuộc tính sleep – imp

+0

"Tôi muốn bảo mật hơn." - Lưu ý rằng không có mã nào như mã 'an toàn' Bạn có thể làm xáo trộn nó, biên dịch nó, viết nó bằng bất kỳ ngôn ngữ nào bạn thích, nhưng nếu ai đó quan tâm đủ để tìm ra cái gì trong đó, họ luôn có thể dịch ngược và unobfuscate nó một lần nữa. Phần lớn những gì bạn có thể hy vọng là làm cho nỗ lực của việc tìm kiếm nhiều rắc rối hơn là giá trị của nó – foo

+0

@foo ok Trong khi nhập mô-đun, có lỗi hiển thị trong time.sleep (2) dưới dạng 'Lỗi thuộc tính': ' Đối tượng NoneType không có thuộc tính ngủ, có ý tưởng tại sao nó hiển thị – imp

Các vấn đề liên quan