[JM:03845] Re: cronジョブの再設定に関して

アーカイブの一覧に戻る
Akihiro Motoki amoto****@gmail*****
2022年 6月 14日 (火) 13:03:02 JST


On Tue, Jun 14, 2022 at 6:59 AM IIJIMA Hiromitsu
<delmo****@denno*****> wrote:
>
> いいじまです。
>
> > 白方です。取り急ぎ。
> >
> > > | ===== git pull =====
> > > | error: insufficient permission for adding an object to repository database .git/objects
> > > | fatal: failed to write object
> > > | fatal: unpack-objects failed
> > >
> > > matsuandさん名義の一部フォルダが原因のようです。
> >
> >   これについては .jm.git ディレクトリを全部作り直す方が
> >   確実だと思うので一旦そのように対処しました。
>
> そうですね。ただ今後のこともあるので、どこかのタイミングで手作業で
> 1) matsuandさんのアカウントで jm.git.old/.git/objects フォルダに入り、chmod g+w *
> 2) 誰か別の人のアカウントで ( umask 002 ; git pull )
> 3) しばらく置いてリポジトリの更新を待ってから、2) とは別の人のアカウントで再度 ( umask 002 ; git pull )
> という確認をしておきたいところです。
>
> ☆ ☆ ☆
>
> > # python 関係のエラーも出ているので後で確認します。
>
> ざっと見た限りでは、jm.git/guide/build-jm-guide.sh の中で次のような処理が行われているようです。
>
> 1) GitHubから get-pip.py というファイルをダウンロードする。
> 2) その get-pip.py を使って、pip(Pythonのパッケージインストーラー)をインストールする。
> 3) 仮想環境を作って、その内側で sphinx をインストールする
> 4) その sphinx を使い、Makefile に従ってドキュメントをビルドする

Sphinx ベースのドキュメントを導入したのは私です。
shell.osdn.net に virtualenv さえも入っていなかったので苦肉の策で行った感じです。

実装したのは 2016年。python2 がまだ一般的に使われていた頃だった、
shell.osdn.net の python3 は python3.4 が最後でまともに使えるものがない、
という点を踏まえて見る必要があります。

>
> ☆ ☆ ☆
>
> ところが実際には、次のような状況になっています。
>
> 1) ここに書かれている get-pip.py の URL はリンク切れ。
> それにそもそも、今の Pythpn には pip が標準でついてくるので、わざわざインストールし直す必要はない。

python2 前提の話なので、python3 を使うなら不要ですね。

なお、python2.7 用の get-pip.py は以下の URL に移動して残されています。
https://bootstrap.pypa.io/pip/2.7/get-pip.py

> 2) pip のインストール先として $HOME/.local、つまり cron 実行者の個人領域が指定されている。

これは shell.osdn.net で --user オプション付きで pip をインストール
しようとしたときに、$HOME/.local を使うことになっていたので、
変更できなかっただけです。
python2.7 で virtualenv を使いたかっただけなので、仕方なくこうなりました。
良い方法があれば置き換えるのがいいと思います。

> 3) Sphinx の最新版には Python 3.6 以上が必要。
>  https://www.sphinx-doc.org/ja/master/usage/installation.html
>  ところが、OSDN のシェルサーバに入っている Python3 の最新版は 3.4。

python 2.7 環境であれば、 pip install sphinx では Sphinx 1.8.6 がインストールされて動作します。
なので、 shell.osdn.net でも環境を再構築するのは簡単です。

> 4) ドキュメントのビルド自体は正しく行われている。
>
> ex) ローカルに持っている pip は Python 2.6 用のパッケージを操作する設定になっているが、既に Python 2.6 のサポートは打ち切られている。pip による sphinx の更新も成功していない。

$JMHOME/venv の python 2.6 になっている理由は思い出せません。

>
> ☆ ☆ ☆
>
> というわけで当座、「手持ちの sphinx は更新せず、今あるバージョンで凍結する」という対応をしておいたほうがよさそうです。

そのままにしておくのでよいと思います。

python2.7 ベースで Sphinx を使えるのは確認済みなので、
必要なら python2.7 ベースでもよければ環境の作り直しもすぐできます。

> おいおい、仮想環境($jmhome/venv/)の中身についても調べてみます。

ここに調べるような中身は入っていないです。
$JMHOME/venv/bin/pip freeze したら何が入っているかを確認できるくらいです。
あとは $JMHOME/venv/bin/python --version するくらいですかね。


linuxjm-discuss メーリングリストの案内
アーカイブの一覧に戻る