我正在寫加載的Python 3.3下字節編譯*.pyc
文件的應用程序。我分發*.pyc
文件,而不及其相應的*.py
文件(嘗試)保護我的源代碼。 (是的,如注意here,試圖阻止通過字節編譯Python進行反編譯並不是最安全的選項,但是如果我發現需要,我總是可以添加其他代碼安全措施。)* pyc文件不被發現
但是,發現Python沒有加載*.pyc
文件,但沒有原始文件*.py
。 (據PEP 3147,該*.pyc
文件都保存在一個目錄,其中*.py
文件將是。我本公約對我自己的代碼以下稱爲__pycache__
子目錄。)
在我的項目,該項目使用的Python的早期迭代2.7,餘字節編譯Python的來源和所生成的文件*.pyc
放置到相同的目錄中的文件*.py
;那工作得很好。顯然,Python如何找到__pycache__
文件夾存在問題。我究竟做錯了什麼? (是的,我已經適當設置sys.path
;否則,當我將它插入一個調試措施不會被找到*.py
文件。)
這樣做產生的'.pyc'文件有一個額外的'.cpython-33.'插入?如果是這樣,您可以簡單地嘗試將它們重命名爲與模塊具有相同的名稱。 [這對我來說無論如何都是。] – DSM 2013-02-10 16:24:05
@DSM:沒有工作。仍然找不到該模塊。 – wjk 2013-02-10 17:09:32
嗯。作品就這樣結束了 - 我期待在通過導入我從'fred.cpython-33.pyc'複製從目錄'tmp'我加入到了'fred.pyc'文件生成一個'你好,世界'的消息!除去每一個其他文件後的'sys.path'。 – DSM 2013-02-10 17:12:26