だいぶハマった。
久しぶりに触るプログラムでpipenv install
やpipenv update
をすると、次のようなエラーメッセージが出てくるときがあります。
ValueError: invalid literal for int() with base 10: ...
一番最後に出てくるエラーはUnicodeDecodeErrorだったりといろいろなプログラムエラーが出てくるんですが、コンソールを手繰ってみると上記のようなエラーメッセージが出てくる。
スタックトレースを見てみると自分が作ったソースコードに関するエラーが一切出ておらずどうしたものかと思っていたのですが、こういうときは大抵バックグラウンドで起動しているなんらかのプログラム名をpipenvが読み込んでしまっているために起こる問題っぽい。
タスクマネージャを開いて日本語名のプログラムが出ていたらそれを終了させる というのも一つの手なのですが、日本語名のプログラムが見当たらない場合はPCを再起動(多分一度サインアウトしてサインインし直すでも可)してしまうのも手。
また、同じようなエラーは拡張子.pyにPython以外の実行ファイルが関連付けられているときにも起こることがあるので、とりあえず以下の点を確認すると良いです。
- 拡張子pyはちゃんとPythonに関連付けられているか?(うちの場合いつの間にかVisual Studio Codeに関連付いてた)
- タスクマネージャの詳細タブで、日本語名のプログラムは起動していないか?
- それでもダメならPCを再起動 またはサインアウト→サインイン
ああもうほんと疲れた。