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

【Windows】用mise管理python版本 移除預設python Microsoft Store商店

在CMD輸入 python、python3 都會跳出此畫面


原本想說是因為還沒安裝python,但又不想用Microsoft提供的官方版本,畢竟我需要可隨時切換python版本。所以使用mise安裝,mise-en-place (類似vfox, asdf管理多個開發語言的環境)

【Python】MacOS 找出python惱人的版本 Pycharm

要使用 串接AI套件 langChaing 時,發生了以下錯誤

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with LibreSSL 2.8.3. See: https://github.com/urllib3/urllib3/issues/2168


macOS 內建Python


透過 python3 --version 得知我的版本為 Python 3.9.6

透過 which python3where python3 指令,得知我的python是安裝在 /usr/bin/python3

(這是macOS內建裝的)

但這建議不要刪掉

【Windows】【Python】同時使用python2、python3 環境設定方式

(更新)
可以透過在安裝python3時附加的py檔案 (路徑 C:\Windows\py.exe) 
帶版本參數,做到一樣的事情
py -2
py -3

要指定pip版本時,再加個 -m pip
py -2 -m pip
py -3 -m pip







【Python】【LineBot】在Heroku平台上架設自己的LineBot機器人

Heroku 平台

2022-12更新
雲端主機無法繼續運行了,才發現Heroku沒有免費了,現在要錢 QQ
要訂閱才能開啟Web主機 





---


Heroku 是一個可以部署個人的程式碼在雲端運行的服務平台,當然環境也都要自己架設。Heroku可以支援多種程式語言,像是 Java、Python、Golang、PHP等等。

註冊完帳號之後,直接建立一個 new app



【Python】Trace Code 技巧

以下是Python Trace Code、找函式庫時常用到的兩大工具


__file__

在每個包底下呼叫__file__的方法,

能找出代碼或Package的檔案位置 但無法找出內建函式、無法找到用C實現的Object或Method。


例如 這邊找爬蟲框架BS4套件載下來的位置


import bs4

bs4.__file__




【Python】安裝 Jupyter Notebook

> pip3 install jupyter

安裝完後

> jupyter notebook




【Python】if __name__ == '__main__' 的意思

初學 Python 看別人程式碼的時候,
以為 if __name__ == '__main__':  這串敘述等同C語言 int main() 裡面的區塊。

但後來才認識到,這串 if __name__ == '__main__':  效果及用法卻截然不同。

尤其是 python 就算有這句敘述,仍然是由上而下一行行執行,
而C語言則是先執行int main()區塊。




用python寫好的一個.py檔案,只會發生以下兩種情況:

【Python】requirements.txt 寫法


在 Python Package中,通常會加入一個名為 requirements.txt 的檔案,

裡面放的是執行這包 Package 所需要用到的library套件。

(在Github隨便找幾篇別人寫的程式來當範例:


【Python】對付__pycache__的幾種方法


python在執行包含其他模組import module的過程中,會出現__pycache__的資料夾,
這顧名思義是python cache的檔案。



裡面是一些 .pyc檔案。


註:
.py:編寫好的程式碼、Script。
.pyc:Python經過編譯(Compile)後產出的位元組碼(Bytecode)。以便未來在 import module時,程式能夠更快載入。
$ python -m compileall main.py
.pyo:優化(Optimizations)過後的.pyc。
.pyd:可視為.dll檔案。
.pyw:以視窗模式執行的檔案(以pythonw.exe開啟)。





防止__pycache__產生的方法:

在下指令的時候,可單次防止__pycache__資料夾產生
$ python -B main.py


或者另一個方法是,

添加系統環境變數 PYTHONDONTWRITEBYTECODE=1 (或是其他非空數字)

可防止之後在命令列模式下產生__pycache__資料夾。








至於若直接對.py檔右鍵 點擊 Edit with Idle,按F5執行仍會跑出__pycache__資料夾來,對此還不知道如何解決。

Idle 的 Command在註冊表中的這個路徑
電腦\HKEY_CLASSES_ROOT\Python.File\Shell\editwithidle\shell\edit36\command

其預設值為
"C:\Users\GJLMoTea\AppData\Local\Programs\Python\Python36\pythonw.exe" -m idlelib "%L" %*




防止__pycache__上傳到Github的方法:

今天若僅是不將__pycache__上傳同步到github上,
新增一個 .gitignore 檔案到專案裡也是一個辦法,
並輸入進以下內容
__pycache__/
*.py[cod]
這樣一來便防止所有的 __pycache__ 資料夾、防止所有的 .pyc、.pyo、.pyd 檔案上傳。