山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

顯示具有 Python 標籤的文章。 顯示所有文章
顯示具有 Python 標籤的文章。 顯示所有文章

2021年9月16日

[Python] 離線安裝 Python 以及 Python 套件


 離線安裝 Python 以及 Python 套件 (如 openpyxl)

在網路無所不在的21世紀,我從未想過會需要在 "離線 (無網路)" 的狀況下安裝應用程式,但這情境真的發生了!

這篇就讓我來分享離線安裝 Python 以及 Python 套件的過程吧。

Step 1: 下載 Python 安裝軟體

  • 這步驟當然要在一台 "有網路"電腦上進行,而且最好和 "無網路" 的 "目標電腦" 是相同作業系統 (PS: 我個人是如此)。

  • 從 python.org 官網下載 Python 安裝軟體


Step 2: 下載 Python 套件

  • 這步驟和 Step 1 雷同,也就是 - 要在一台有網路電腦上進行,而且是和無網路 的目標電腦有相同的作業系統。

  • 除第一點的需求外,這步驟還有另一個需求,就是 - "有網路的電腦上必須安裝好了 Python 軟體" ,因為接下來的步驟必須依靠 pip 套件來下載其他套件 (如 openpyxl 、numpy、matplotlib、pandas 等等未隨 Python 安裝軟體的套件),然而 pip 套件則是在安裝 Python 軟體時,就會一起安裝好的,所以,進入下步驟前請先將 Python 軟體安裝好以及Python的路徑設定好。

 (PS: Python 3.4 以後的安裝軟體版本,都已包含了 pip 套件)。

  • 透過執行以下 Command 在 Terminal 下載 Python 套件 。

pip download Package-Name 

這裡的 Package-Name 請替換成你要下載的 Python 套件,例如,要利用Python 來 access Excel 檔案,這就必須再額外安裝 openpyxl 套件,上面的 command 就會如下圖,來下載 openpyxl 套件。

  • 這裡再額外提供一個小技巧,就是建立一個目錄來存放你下載 Python 套件,這會方便下一步轉移檔案到無網路的電腦上 。


Step 3: 轉存下載的 Python 安裝軟體以及 Python 套件至 "無網路" 的目標電腦


Step 4: 安裝 Python 安裝軟體以及設定 Python 路徑

  • 在設定 Python 路徑時,請將 script 的路徑也一併加上去,因為 pip.exe 就是放在 script 的目錄下。

C:\Users\...\AppData\Local\Programs\Python\Python37-32\

C:\Users\...\AppData\Local\Programs\Python\Python37-32\Scripts\

  • 可以透過以下 command 測試 Python 路徑是否設定好否

pip --version 


Step 5: 安裝 Python 套件

  • 請透過執行以下 Command 在 Terminal 安裝 Python 套件 。

pip install --no-index --find-links=d:\Download openpyxl 

這裡的 --no-index --find-links ,簡而言之,就是只會去 find-links 所指定的路徑去找你要安裝的套件。

原文說明如下圖。

  •  想進一步了解 pip install 可以參考這連接 pip install usage

  • d:\Download 則是存放你從 "有網路"電腦 搬過來的 Python 套件的路徑,千萬不要照我打 d:\Download 喔!

  •  openpyxl 則是套件的名稱。




2021年7月24日

[Kivy] 在 PyCharm 建立 Kivy 的開發環境


 在挑選配合 Python 的 GUI Framework 時,Qt 和 Kivy 則是在眾多的 Framework candidates 中,最後留下細細研究的兩個 ,經過了開發環境的安裝以及淺嚐 "Hello World”App 的建立後,最最最後~,我決定了 Kivy。

原因如下:

  • MIT License

  • Open Source on GitHub

  • Cross-Platfrom, Kivy App can run on Windows, Linux, OSx, Android, iOS and RaspBerry Pi

  • Built-in OpenGL ES for GPU Accelerated


Kivy - 簡介


What is Kivy ? Kivy Introduction,這些問題我就交給 Kivy 官方網站了!

因為 Kivy  的官網以及它 WiKi上的 Documents 都提供相當多的資訊了,想對 Kivy 有初步的了解,是足夠的。



在 PyCharm 建立 Kivy 的開發環境 (On Windows 10)

Kivy 的開發環境,基本上是建立在 Terminal Mode,對於 IDEs 的開發環境倒是沒有多加說明。在 PyCharm 建立 Kivy 的開發環境,Kivy 雖有說明,我是有看沒有懂啊!於是就將自己的建立過程做了以下紀錄,分享給大家。


Step 1 - 安裝 Python 

首先就是點這連接 Download and Install Python 安裝 Python。


Step 2 - 建立 Virtual Environment (VM) for Kivy


python -m virtualenv kivy_venv


開啟 Windows 的 terminal,然後選定或建立一個資料夾,接著在選定的資料夾下執行上面 Command,來建立 kivy 要使用的 VM。  

以我為例,我是將 PyCharm 要用的 VM 都建立在 PyCharm 的工作目錄下,下圖可以看到我建立了 3 個 VM,分別用於 Kivy,MicroPython 以及 normal python。


下圖則是 Kivy VM 的檔案結構



Step 3 - 激活 Kivy VM  


kivy_venv\Scripts\activate


Kivy VM 建立好後,還不能使用,必須激活 (activate) 它,方法就是在 Kivy VM 的目錄下,執行上面 Command。


Step 4 - 安裝 Kivy  以及範例


python -m pip install kivy[base] kivy_examples


執行上面 Command,就能安裝 Kivy 基礎的 (base) 套件,若想要多安裝其他套件或完整套件,則可以在中括號內,改成 [base, media] 或是 [full]。

通過以上 4 步驟就完成 Kivy Framework 的安裝了,基本上你已經可以在 Terminal 開發 Kivy App 了。

剛才的 Kivy 安裝步驟裡,也包含範例的安裝,執行以下 Command 就能驗證你是否有安裝正確,以及觀看 Kivy GUI 的 Demo 喔!


python kivy_venv\share\kivy-examples\demo\showcase\main.py


PS: 以上 Install Kivy 以及建立 Kivy VM 更詳細的操作步驟,請參考 Kivy.org 的  Installing Kivy 說明網頁。


Step 5 - 在 PyCharm 建立 Kivy 專案 (Project)  

  1. 打開 Pycharm 後,請點選 File ->  New Project 來建立新專案。

  2. 接著在建立新專案視窗 ,如下圖紅色框,選擇 “Existing interpreter”,其x路徑就是你在 Step 2 建立 Kivy VM 下 python.exe 存在的目錄路徑。


  1. 順利完成新專案的建立後,點選 File -> Settings > Project  ,應該就能看到和下圖一樣是使用 Kivy VM 的設定了。


Step 6 - Copy & Paste then Run HelloWorld.py App

在還不了解如何撰寫 Kivy App 前,可以複製貼上,下面 “Hello World”的範例原始程式碼,來驗證 Kivy 在 PyCham 的執行環境。


'''

Application example using build() + return

==========================================


An application can be built if you return a widget on build(), or if you set

self.root.

'''


import kivy

kivy.require('1.0.7')


from kivy.app import App

from kivy.uix.button import Button



class TestApp(App):


    def build(self):

        # return a Button() as a root widget

        return Button(text='hello world')



if __name__ == '__main__':

    TestApp().run()


順利的話,你應該能看到和下圖一樣的結果。






 


2021年1月11日

[Python] 初嘗 Streamlit


Streamlit 是什麼 ?

就如 Streamlit 官網的描述 (上圖) : 透過 Streamlit Python Package 可以快速的將你的 Data Script 以 Web Apps 的形式分享出去。

Streamlit 官網

Streamlit 有一個很大的優點,就是 " No front-end experience required”,也就是說,不需要有 Web Apps 的 background,由 Streamlit 幫你搞定 Web App 的架設,而你只要專心在資料的呈現就可以了。

事實真的如此?親身體驗的結果如下 :

就這樣 3 行原始碼

然後在 Terminal 執行 

Streamlit run yourScript.py 

Web App 就在 Browser 生成了

心得

  • 透過網站的 " Get started”,Step by Step 的引導, 2 分鐘真的就可以建立一個 Web App,真的很酷。

  • 一開始是在 Windows 10 安裝 Streamlit Package,就遇到 install error,嘗試網路上給的解法也是無法順利安裝起來;接著轉戰 Ubuntu 18.04,雖有遇到 Windows 10 有的 errors ,但套用網路上給的解法就成功的安裝了。

  • 分享你的 Web Apps 必須是註冊會員 ( 註冊免費 )。

  • 想要有像樣的 Web App 還是必須熟悉一下他的 API


2021年1月9日

[Python] Change Python3 as the default version on Ubuntu


Python default version on Ubuntu 18.04 LTS

The default version of Python on Ubuntu 18.04 is Python 2, that is, if you run“python”command in the Terminal,  the Python 2 engine will be executed. Even if you have installed Python 3.5 or higher version.

A solution to change Python3 as the default version

    sudo update-alternatives --install /usr/bin/python python /usr/bin python3 1



2020年11月11日

[MicroPython 教學] The Best MicroPython IDE - PyCharm


MicroPython 官方並未提供整合的 GUI 開發環境 ( IDE : Integrated Development Environment ),僅提供 Command Mode Tools,讓開發者可以更新 firmware 以及替換板上檔案而已;但這樣的開發環境著實提高了入門門檻!


還好,在 GitHub 原始碼開發平台上,無私的開發者幫 MicroPython 解決了這樣的困境;例如 Visual Studio Code 以及 PyCharm 都有無數的 Micropython 套件 (Extension / Plugin) 供開發者選用,甚至有些組織還提供 MicroPython 專屬的 IDE。


但在親身體驗這些套件或 MicroPython 專屬的 IDE 後,發覺 MicroPython 專屬的 IDE 往往是連安裝都有問題,許久未見更新;一些套件則是缺東缺西,不夠完善,往往無法同時支援 PyBoard / STM32 boards 以及 ESP8266 / ESP32;唯有 PyCharm 的 MicroPython 套件最為完善,同時支援 PyBoard 以及 ESP8266 的下載方式,並且在 IDE 的開發環境下,整合了 AMPY ( Adafruit Micropython tool ) 。 



安裝

PS : 在安裝 PyCharm 前,記得先完成 Python 3 的安裝。


PyCharm 下載網址 ,安裝完成 PyCharm 後,請點選

" File -> Settings -> Plugins -> Marketplace ",然後搜尋 MicroPython 套件,並且安裝它。安裝完成 MicroPython 這套件後,請依照提示重新啟動 PyCharm ,以完成MicroPython 套件的安裝以及啟動。



New MicroPython Project

完成 IDE 以及MicroPython 套件的安裝後,接著就是來生成 MicroPython 的專案了;請點選 " File -> New Project…",接著就會跳出如下的 "Create Project”的視窗。



請在 " Location:”指定專案的開發路徑及資料夾,這裡,我的專案名稱是 "HelloMicroPython”,然後點選 " Create”生成專案。


PS : PyCharm 是一套針對 Python 語言開發的 IDE ,所以每個專案都有各自的虛擬環境 ( Virtual Environment )。



完成新專案的生成後,你應該可以看到如下圖的專案檔案結構,此時的所有檔案都只是 Python 新專案的相關聯檔案以及虛擬環境,還算不上是 MicroPython 的專案。



請點選 " File -> Settings -> Languages & Frameworks -> MicroPython ”

然後勾選 "Enable MicroPython support”。

接著在 "Device type”,點選你的開發板種類;如果你的開發板是 ESP8266 或 ESP32 則點選 “ESP8266",若是 STM32 系列,則點選 "Pyboard”。

在 "Device path” 填入 Serial Port 的路徑,如 COM3 。

最後在點選 "OK",這樣新專案的屬性才會轉換成 MicroPython 的專案。


PS :  如果是在 Ubuntu 的環境下,則是填入 /dev/ttyUSB0 或 /dev/ttyACM0 



main.py

到這一步驟, 只是建立一個 MicroPython 的新專案而已,main.py 還未被產生。

請點選 " File -> New... ”

然後選擇 "Python file”並填入新檔案名稱 "main.py",接著按下 Enter 鍵。



此時 "空白的" main.py 就被建立在專案檔案結構下了。



因為是 MicroPython 的專案,PyCharm 則會在這生成 main.py 檔案後, 提醒你專案還要額外安裝 Packages,如 pyserial,ampy 。



請大膽點選右側的 "Missing reqired MicroPython packages”讓 PyCharm 幫你安裝必要的軟件。


Project Structure

接下這步驟可做也可不做,但個人建議做,因為實在沒有必要將 .idea 這目錄下的檔案也歸類為 Source Directory。

請點選 " File -> Settings ->Project: Nam of your project -> Project Structure”,然後點選 ".idea”,接著按滑鼠右鍵將 "  .idea " 這目錄 “Exclude”出 Source Directory。



下圖是 "  .idea " 這目錄 “Exclude”出 Source Directory 的畫面。



Hello MicroPython on PyCharm

完成以上的步驟後,是時候在空白的 " main.py" 輸入程式碼了!

不免俗的,我們也來段 "Hello World”吧!

請在空白的 " main.py" 輸入print("Hello MicroPython on PyCharm")吧!


Download main.py to board

請點選 "main.py”,接著按滑鼠右鍵,選擇 Run ‘Falsh main.py’。




若板子就緒且 COM port 設定正確,你應該可以看到 main.py 被正確的下載到板子了,如下圖。



REPL

既然 main.py 已經成功的下載到板端了,當然就應該試試在 PyCharm 跑 REPL (  Read,Evaluate, Print and Loop )。

請點選 "Tools -> MicroPython ->MicroPython REPL”執行 REPL。



接著在 Terminal 視窗則會有如下的 REPL connected 的結果



這時你不妨按下 “Ctrl+D”,來個 soft reboot,就能看到你撰寫 main.py 的執行結果了。



Run AMPY

想必你也猜得到是在 Terminal 視窗執行 ampy,以下就是執行畫面的截圖。



想省去一直敲打comport 這段字串  “-p com7',可以在 Terminal 輸入如下圖的字串,來設定 comport 路徑。



以上就是 MicroPython 在 PyCharm 的使用教學,感謝閱讀!

熱門文章