python3.5.1怎麼打包編譯?
開始一直時有時無的自學python3.x,突然有一天想,如果哪天用python寫個小程序需要傳給別人用,而別人也不一定安裝了python該怎麼辦呢,結果百度發現python有打包編譯工具,py2exe,czfree……pyinstall等,結果都試了,編譯時都出了問題,上網百度了半天也是沒找到結果,估計是對python3.5支持的不好吧,最後下載了golang,編譯相當的簡單,但畢竟自學了很久python,還是不想放棄,想問問有沒有用python3.5.1編譯成功過的。windows10,64位系統。
1. 並不是編譯,僅僅是打包
2. 打包的內容包括:一個python運行時,源碼轉換後的位元組碼,直接引用到的依賴包,以及通過配置文件指定的要用到的額外包及dll
注意事項:
1. 解釋器是啥版本的,打包進去就是啥版本的,64位解釋器在32位OS上跑不了,跨平台也跨不了。
2. dll大都需要手寫配置打包進去,常年不會自動打包。
3. 各打包工具的配置文件寫法略有差異,版本間也可能有不同,請查閱官方對應版本文檔。正確答案是,用pyinstaller軟體打包。我也學python3不久,用的是最新的python版本。幾個月前這個問題也是比較困擾我。後來我在網上搜遍了,把各個軟體都試一下,發現pyinstaller是可以成功的,而且非常簡單。操作步驟:1.輸入pip install PyInstaller 2.進入需要打包的程序目錄 3.輸入pyinstaller + 需要打包的程序(腳本)名稱
呃真的要退成3.4了...
……關注了這問題過了不懂多久了都快忘了又被新回答引到這了……雖然我也沒有很好的解決辦法但是先來強答一點拋磚引玉吧。 樓上所說的各種py2exe用不了,「No such file...」是因為py2exe暫時到目前只支持到3.4版本(包括cxfreeze)。對3.5的遲遲不完善是因為3.5相比3.4做了一個「一般開發者不在意但模塊開發者很重要的改動」(老早看的一篇英文的blog……就記得個黑色博客主題- -||其他記不得了,大概有這個意思……好像還說了什麼痛苦是暫時的balabala……懶得找了看到鏈接再補)所以開發者一直在努力開發中…… 想來也快滿年了……也該好了…… 因3.4與3.5的一般語法並沒有很大差異……所以一般可以原樣拷貝3.5代碼在3.4環境中打包。
入門拙見。
各位,人家問的是python3.5版本的怎樣打包,我3.5的也不會用打包,用py2exe會報錯:error: [Errno 2] No such file or directory: F:\python\lib\site-packages\py2exe\run_w-py3.5-win-amd64.exe,,,,結果我發現run_w-py3.5-win-amd64.exe網上找不到,只有run_w-py3.4-win-amd64.exe
搭車提問:
WIN7 64bit,安裝了兩個版本的PY:Anaconda3內置的PY3.5、單獨安裝的PY3.6。
根據上網搜索結果,需先安裝Pywin32,然後再裝Pyinstaller用於編譯。但是在安裝Pywin32時報錯:Python 3.6 required,which is not found in registry。該如何解決?此問題和同時安裝兩個版本的PY是否有關?
python 3.5 的 importlib 中修改了,分成了 _frozen_importlib 和 _frozen_importlib_external。 cx_Freeze-4.3.4 中的 finder.py ,194行(self.IncludeModule("_frozen_importlib"))後加:
if sys.version_info[:2] &>= (3, 5):
del self._modules["_frozen_importlib_external"]self.AddAlias("_frozen_importlib_external", "importlib._bootstrap_external")self.IncludeModule("_frozen_importlib_external")del self._modules["importlib._bootstrap_external"]有縮進,但是都被吃掉了。推薦閱讀:
※《Django By Example》第二章 中文翻譯
※Python爬蟲(3):爬取豆瓣電影TOP250
TAG:Python |