沉冰浮水

沉冰浮水

做最终到的事,成为最终成为的人!
github
bilibili
mastodon
zhihu
douban

【折騰】Python + GitHub Actions 更新 Z-Blog 的探索

前言#

起因是看到了這個專案:

zhaoolee/WordPressXMLRPCTools: 用 Hexo 的方式管理 WordPress
https://github.com/zhaoolee/WordPressXMLRPCTools

想著給 Z-Blog 也弄個,然而 ZB 的XML-RPC接口是殘缺的,然後即將發布的 1.7 版本將自帶 API。就走 API 來做了,,然而問題是 1.7 什麼時候發布?

折騰過程中明明也解決了各種問題,然而做不到每一個點都整理記錄,也是略惆悵。。

Python 其一#

因為最近又重裝了系統,Python 什麼的要重新安裝。。

【【重裝前也有折騰一個 Python 專案,將圖片變成素描風什麼的,對於我來說是沒啥用的功能,而且實際弄出來和演示效果差的有點多】】

【【姑且也有份折騰筆記,正好可以用現在這個工具發布出來】】

雖然在微軟商店可以方便的下載 Python,但是使用起來並不太方便 - -。

這裡是一些探索,Docker For Windows 同理。

簡單說,在 Git bash 或 VSCode 終端裡執行 Python 時會提示Permission denied,所以需要加winpty才行,還有個「應用執行別名」的選項可以按需設置。

python -V
# bash: /c/Users/****/AppData/Local/Microsoft/WindowsApps/python: Permission denied

winpty python -V
# Python 3.7.9

好吧,,建議直接單獨安裝 Python。。。商店版基本只能在 cmd 下使用,,pip 啥的各種麻煩。

Python 其二#

另外,關於 VSCode 中無法安裝 autopep8 用於代碼格式化。

提示類似這樣:

C:\Users\wdssm\AppData\Local\Programs\Python\Python37\python.exe: can't open file 'c.vscodeextensionsms-python.python-2021.1.502429796pythonFilespyvsc-run-isolated.py': [Errno 2] No such file or directory

解決:在 cmd 中執行:

C:\Users\wdssm\AppData\Local\Programs\Python\Python37\python.exe \
C:\Users\wdssm\.vscode\extensions\ms-python.python-2021.1.502429796\pythonFiles\pyvsc-run-isolated.py pip install -U autopep8

C:\Users\wdssm\AppData\Local\Programs\Python\Python37\python.exe \
C:\Users\wdssm\.vscode\extensions\ms-python.python-2021.1.502429796\pythonFiles\pyvsc-run-isolated.py pip install -U pylint --user

需要按實際修改路徑。

不太懂但是也沒啥影響的部分#

↓這個東西在本地不知道怎麼用,GitHub Actions 經過 30 多次嘗試終於成功了。

pip install pipenv
pip install -p Pipfile.lock

實際並沒能解決所需的部分#

Github Actions 裡獲取文件真實修改時間的探索:

GIT 獲取文件最初創建及最新修改日期・Issue #69・Dream4ever/Knowledge-Base

_cache_logs="_cache_logs.json"
echo  "{" > ${_cache_logs};
git ls-tree -r --name-only HEAD | while read filename; do
if [ "${filename##*.}"x = "md"x ];then
echo "\"$(git log -1 --pretty=format:"%at" -- $filename)\": \"$filename\",";
echo "\"$(git log -1 --pretty=format:"%at" -- $filename)\": \"$filename\"," >> ${_cache_logs};
fi
done
echo  "\"0\":\"README.md\"" >> ${_cache_logs};
echo  "}" >> ${_cache_logs};
#

↑ 失敗,在線上環境獲取到的時間都是一樣的。

中間遇到個錯誤提示:bash: ${var}: ambiguous redirect,排查了好久,然而最後忘記是啥原因了 (╯﹏╰)。

結語:換用git diff好像也不好使,換「File Changes Action」了;

最後的部分#

# _test="aaa"
export _test="aaa"
python test.py
# import os
# print(os.environ["_test"])
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。