沉冰浮水

沉冰浮水

做最终到的事,成为最终成为的人!
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 その 1#

最近システムを再インストールしたので、Python などを再インストールする必要があります。。

【【再インストールする前に、Python のプロジェクトを試行錯誤して、画像をスケッチ風に変換するなど、私にとってはあまり役に立たない機能で、実際に作成したものとデモの効果がかなり異なります】】

【【とりあえず、試行錯誤のノートもありますので、現在のツールを使用して公開できます】】

Microsoft Store で 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 その 2#

また、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"])
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。