Python3.6中PyInstaller不能對檔案進行打包問題,
上篇文章《itchat和matplotlib的結合使用爬取資訊》是用python爬取資訊得到朋友的資訊,並且用matplotlib統計資訊進行畫圖,所以今天想將它打包成.exe可執行檔,中間碰到了許多問題,現在記錄一下。
在網上找了很多資料,其中最簡單的是使用PyInstaller包來打包,但是,我電腦裝的是3.6.1的Python,而很尷尬的是剛好3.6版本暫時不支援PyInstaller。有一篇文章《Python 3.6打包成EXE可執行程式》,其中有教如何配置打包,但是我弄了很久都沒有弄好,中間還報了亂七八糟的錯,所以我就換了一種方法。3.x的文法是一樣的,所以我就用Anaconda配置了3.5的環境進行打包,在這裡記錄一下,感覺比較方便。
首先安裝好Anaconda,:http://pan.baidu.com/s/1skAfXq1,記得選擇添加Path的複選框,這個版本預設內建的是3.6的,所以還得建立3.5的環境。建立環境可以進入Anaconda Navigator中,用圖形介面進行建立,建立如下:
也可以進入cmd,輸入命令列:conda create --name test python=3.5
建立環境。建立好環境之後必須進入環境才可對其進行操作,輸入命令列:activate test
之後用:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
安裝好自己需要的包。
我們打包的包是PyInstaller,所以必須先安裝好,之後在cmd進入需要打包的檔案所在位置,輸入: pyinstaller 檔案名稱.py 進行打包。打包完成後,檔案會在建立的dist檔案夾中:
打包的時候可能會出現:ImportError: No module named 'pefile'這樣的錯誤,這是因為是新建立的環境,所以一些包沒有,只需pip install pefile安裝包即可。