Python數據分析和數據可視化環境配置-通過虛擬機的形式
由於將要對一批學員進行數據分析相關的培訓教學,而工作環境不能上網,不能實時聯網利用pip包進行安裝,所以我就打算通過虛擬機的方式事先將電腦的軟件環境配置好,然後所有的培訓電腦都裝虛擬機的方式,完成離線配置任務,培訓的主要內容有:數據清洗、數據分析、數據可視化、軟件工程(數據庫+GUI編程),還帶有一部分內網的數據爬蟲,所以我就選擇了Anaconda+PyCharm+PyQt5+MySQL+PyEcharts的路線,花費了整整一個大星期的時間,分別完成了win10環境和win7環境的虛擬機配置,之所以耗費這麼長時間,一個主要的原因是我有點兒軟件上的潔癖【汗。。。】,想著作為離線培訓用的基礎環境,我不能容忍將失敗後再卸載的操作發生,而是經過自己不斷摸索從而完全一次到位的配置虛擬機,而且虛擬機沒有使用鏡像,因為每建立一次鏡像,虛擬機的體積就增大了不少。。。另一個原因就是在這個過程中當然需要踩不少的坑,例如:
1)Anaconda中的Spyder與配置PyCharm時安裝PyQt5包時的沖突問題——由於Spyder中用到了Qt,而Anaconda集成的Qt版本較老,所以直接利用pip install pyqt5安裝後,就會發現打不開Spyder了。。。
2)安裝nbextensions包時與jupyterNotebook存在兼容性問題——這個後來發現是nbconvert從6.0版本後將template_path改為了template_paths,所以在打開Jupyter Notebook的時候會顯示大量錯誤,雖然不影響使用,但是對於有潔癖的人來說完全無法忍受,後來我終於根據錯誤提示信息把這個給解決了,應該是第一次把!
3)配置離線PyEcharts的問題——PyEcharts真是一個好東西哎,那些很酷的數據駕駛艙中的動態圖用PyEcharts來繪制,也就是幾句代碼的事,而且這個還是我們國內出品(Echarts是百度做的,PyEcharts是chenjiandong幾個人做的,致敬大神!),最坑的就是當我配置好所有環節後,也在自己家裡的上網的電腦上測試了相關代碼,測試時發現一切都ok,但是真正將配置好的虛擬機拷貝到離線電腦上面後,發現竟然都畫不出來圖了,無論是在jupyterNotebook中利用.render_notebook()方法,還是利用.render(文件名.html)的方式,都不能顯示圖,也在網上找了很多原因,很多都沒有說到點子上,當然這與PyEcharts從0.x版本升級到1.x版本變化過大有關,最後發現是網頁在渲染時竟然都還需要到PyEcharts官網上面去下載assets中的js文件,真的是無語,後來又到GitHub上面將這些離線資源都下載下來,然後配置一下才算解決。。。
下面首先來記錄一下整個的虛擬機配置的歷程吧:
Win10系統:cn_windows_10_consumer_editions_version_1803_updated_march_2018_x64_dvd_12063766.iso
殺毒軟件:360sd_x64_5.0.0.8140.exe (經驗表明,培訓電腦雖然都是離線不上網,但還是要安裝一個殺毒軟件,不然很low的病毒到處都是)
辦公軟件:W.P.S.10228.20.2706.exe (金山Office真的太好了,才150M,Word、Excel、PowerPoint、PDF全搞定!)
notepadplus.6.2.2.Installer.exe (增強型的記事本軟件,用來打開py程序真的是不要太好)
wrar36b3sc.exe (解壓必備)
XMind 8 Update 8 專業版0921.exe (思維導圖)
飛秋FeiQ2013.exe (局域網傳輸文件必備)
************************************************************************
Anaconda3-2020.11-Windows-x86_64.exe (Python數據分析環境集成包,包含了幾乎大部分Python包,以及Spyder和JupyterNotebook這兩大神器!注意,安裝時出現安裝在哪個賬戶下,如果選擇所有人的話,就會安裝在C:\ProgramData\Anaconda3目錄下,我就是這麼選擇的;如果選擇當前用戶的話,就安裝在C:\Users\用戶...目錄下)
pycharm-community-2020.3.exe (除了Spyder和JupyterNotebook這兩大神器之外的Python編程第三神器)
jdk-11.0.7_windows-x64_bin.exe (安裝MySQL的基礎環境)
HeidiSQL_10.2.0.5704_Setup.exe (開源的數據庫客戶端,小巧玲珑但功能強大,與Navicat相比關鍵在免費開源)
mysql-installer-community-8.0.19.0.exe (MySQL數據庫)
************************************************************************
(注:Python均安裝在C:\ProgramData\Anaconda3\Lib\site-packages目錄下)
jieba (分詞)
wordcloud (詞雲)
pyecharts (動態可視化)
beautifulsoup4 (爬蟲解析)
opencv-contrib-python (圖像處理)
pymysql (MySQL數據庫支持)
pymongo (Mongo非關系型數據庫支持)
nltk (自然語言理解)
scrapy (爬蟲)
nbextensions (JupyterNotebook擴展工具,增強JupyterNotebook的使用便捷性,很多實用的小功能,例如:選擇高亮、變量查看、目錄導航、編譯時間、代碼折疊凳,幾乎將JupyterNotebook擴展成IDE了)
pyqt5
pyqt5-tools
pyqt5designer
最後就是為PyCharm配置了Qt Designer\PyUIC\qrcTOpy三個擴展工具
***********************************************************************
所有的配置全部完成後,在保存虛擬機的時候,記得清理一下虛擬機,可以減少好幾GB的空間(我的理解就是在安裝上面的軟件的時候,那些刪除到虛擬機回收站的都可以清理了)
今天就先說到這兒,那些踩過的坑待後面再一一詳解!最後就是記錄下所有的命令吧:
利用pip 安裝
------------------------------------------------------------------
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple #永久配置方法
pip install packageName -i https://mirrors.aliyun.com/pypi/simple/ #臨時配置方法
https://pypi.tuna.tsinghua.edu.cn/simple/ # 清華大學
https://mirrors.aliyun.com/pypi/simple/ # 阿裡雲
https://pypi.douban.com/simple/ # 豆瓣
https://pypi.mirrors.ustc.edu.cn/simple/ # 中國科學技術大學
https://pypi.hustunique.com/ # 華中科技大學
pip install jieba
pip install wordcloud
pip install pyecharts
pip install beautifulsoup4
pip install opencv-contrib-python
pip install pymysql
pip install pymongo
pip install nltk
conda 安裝(scrapy無法通過pip安裝成功,而且conda安裝也經常出錯,最坑的就是我家裡的移動光纖網絡無法安裝成功,但是我用手機熱點就可以,無語ing~)
------------------------------------------------------------------
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda install scrapy
------------------------------------------------------------------
#pip install pyqt5==5.12.3 -i https://mirrors.aliyun.com/pypi/simple/ #選擇阿裡雲的源速度要比清華的快很多
pip install pyqt5-tools==5.12.3.1.6rc1 #安裝pyqt5-tools時實際上會自動安裝上門的pyqt5,所以不用執行上面的一句
pip install pyqtwebengine==5.12.1 #上面的pyqt5-tools安裝以後,提示說Spyder需要pyqtwebengine,所以安裝並注意版本
pip install pyqt5designer
------------------------------------------------------------------
//在PyCharm中配置定制工具
為PyCharm添加3個自定義Qt工具菜單(Settings-->Tools-->External Tools-->...)
(1).在PyCharm中打開Qt設計器的工具:
Name:Qt Designer
Program: C:\ProgramData\Anaconda3\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
或者C:\ProgramData\Anaconda3\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
Arguments: (空著)
Working directory: $ProjectFileDir$ (利用插入宏按鈕插入即可)
(2).將Qt設計器設計的*.ui文件轉換為對應的*.py文件的工具(從而可以直接在Python項目中使用,方法為:from 該*.py文件名 import UI_Window模塊):
Name:PyUIC
Program: C:\ProgramData\Anaconda3\python.exe
Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py(利用插入宏按鈕插入即可)
Working directory: $FileDir$ (利用插入宏按鈕插入即可)
(3).將Qt設計器中使用的*.qrc資源文件轉換為對應的*.py文件的工具:
Name:qrcTOpy
Program: C:\ProgramData\Anaconda3\Scripts\pyrcc5.exe
Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py(利用插入宏按鈕插入即可)
Working directory: $FileDir$ (利用插入宏按鈕插入即可)
-------------
#下面的nbextensions與jupyterNotebook存在兼容性問題(詳情見下)
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator --user
jupyter nbextensions_configurator enable --user
兼容性問題及解決:安裝了nbextensions後,由於其中的nbconvert從6.0版本後將template_path改為了template_paths,所以在打開Jupyter Notebook的時候會出現錯誤,這時就需要進入到C:\ProgramData\Anaconda3\Lib\site-packages\nbconvert\exporters文件夾裡面打開其中的templateexporter.py文件,將template_path全部替換為template_paths,注意查找替換時要用全詞替換,並注意要具有管理員權限。