A. 程序在pycharm上編譯運行非常順暢,但用pyinstaller打包後運行卻十分卡頓,請問有人知道這是怎麼回事嗎
目前使用pyinstaller 打包成exe文件,對於使用大量科學計算庫的python程序,我使用的是在pycharm下IDLE下面寫程序,雖然VS2015用來寫python有一些不方便,但是我覺得這貨用來打包成exe非常的好用,寫程序使用pycharm和VS2015結合,然後在VS2015中保存py程序,然後使用pyinstaller打包成單個EXE文件,可以在其他windows系統的電腦上直接運行,目前已經測試是完全可行的。
B. python的.exe程序卡住不繼續向下執行
進入任務管理器關閉不遲雹響應(即卡住的頁面)的程序。
按快捷鍵:CtrlAltDelete,在彈出的對話框找握畝到任務管理器,單擊進入任務管理器,點擊應用程序,在任務窗口裡面找到卡住的python的.exe程序,單擊選中,點擊右下角的結束任務。段旦森
程序是一組計算機能識別和執行的指令,運行於電子計算機上,滿足人們某種需求的信息化工具。
C. python 處理大數據程序運行的越來越慢的問題
最近編寫並運行了一個處理1500萬個數據的程序,本來最初每秒可以處理150個左右的數據,預計大概15個小時的時間就可以處理完,晚上的時候就開始運行,本以為等到第二天中午就可以得到結果呢,,,
可是,等我第二天的時候一看,什麼???還沒處理完,當前的數據處理速度變成了一秒5個左右,然後還需要等待300個小時。
然後就查了一下這個問題,原來同樣也有很多人在處理大數據的時候遇到了這個問題,大多數的文章分析的原因都是說由於GC(垃圾回收)造成的性能下降。
Python的垃圾回收機制的工作原理為每個對象維護一個引用計數,每次內存對象的創建與銷毀都必須修改引用計數,從而在大量的對象創建時,需要大量的執行修改引用計數操作,對於程序執行過程中,額外的性能開銷是令人可怕的。回收的觸發時機有兩種可能,一是用戶主動調用gc.collect(),二是對象數量超過閾值。
所以正是GC拖慢了程序的性能,所以我們可以考慮在處理的時候禁止垃圾回收。
通過這樣的改進之後速度確度會有很大的提升。但是又有也會另外的一個問題,內存溢出,由於運行的過程中生成大量的對象,一次使用後就沒有了引用,由於關閉了垃圾回收機制,一直存在內存中得不到清理,然後程序的內存使用量越來越大。解決的方法就是定期打開gc.enable()再關閉或者主動調用gc.collect(),這樣就可以了。
通過上述的改進後程序確實了很多,可是我的程序還是運行的越來越慢,我都懷疑人生了,然後分別測試了各個步驟所花費的時間才知道了原因,我使用了pandas創建一個DataFrame,然後每次迭代得到的結果都添加新的數據到DataFrame中,隨著里邊的數據越來越多,添加的速度也就越來越慢了,嚴重的拖累的運行速度。這里的解決方法有兩個:
1 分段保存結果,間隔一段時間就保存一次結果,最後再將多次的結果合並。
2 換一個數據存儲方法,我是直接使用了python的字典進行保存結果,它隨著數據的增多添加的速度也會變慢,但是差別不是很大,在可接受的范圍內,可以使用;或者再加上方法1,分段進行保存再合並也是可以的。
D. 為什麼我的cmd調用python特別慢,大概有十幾秒時間
直接用滑鼠點python.exe運行怎麼樣呢
是不是環境變數太多太多了導致電腦尋找命令過慢
配置怎麼樣噢
E. python程序每次運行開始都比較慢
pycharm本來就是一個龐大的軟體,因為功能強大,用很方便,所以運行起來才慢,可以用來做大項目,
python自帶的idle就是一個輕量級的小工具,但是初學或做些小東西足夠了