pyenvでBUILD FAILED

手元のpython環境でpyenvで別バージョンをインストールしようとしたところ
BUILD FAILED (OS X 13.3.1 using python-build 2.3.17-4-gb3c91b37)が発生しました。
Webで検索するとXcodeの再インストールなど色々でたのですがどれも不発でした。
chatGPTとやりとりするも延々と同じところをループする羽目に色々と質問の仕方を工夫していると別の時間軸に移動してくれましたw

このエラーは、Homebrewがインストールされている場所がMacのM1チップ向けに最適化されていないため、Homebrewの推奨する方法であるM1チップ向けのパス(/opt/homebrew)に移動する必要があることを示しています。

以下の手順で、HomebrewをM1チップ向けのパスに移動してから、OpenSSLを再インストールしてください。

  1. Homebrewをアンインストールする  まず、以下のコマンドを使用して、既存のHomebrewをアンインストールします。
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

  1. M1チップ向けのパスにHomebrewをインストールする  次に、以下のコマンドを使用して、M1チップ向けのパスにHomebrewをインストールします。
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

そうすると何かヒントっぽい回答が!
M1に変えてからアップデートしていなかったのでそもそもHomeBrewがM1対応できていなかったのかもしれません。
これが最終回答では無いかもしれませんが、このあとpyenv install 3.7.13は成功しましたので何かの参考になればと思い記載しておきます!

tweepyのcreate_tweetで403

import tweepy
import os
from dotenv import load_dotenv

client = tweepy.Client(bearer_token=os.environ[“BEARER_TOKEN”], consumer_key=os.environ[“CONSUMER_KEY”], consumer_secret=os.environ[“CONSUMER_SECRET”], access_token=os.environ[“ACCESS_KEY”], access_token_secret=os.environ[“ACCESS_SECRET”])

client.create_tweet(text=”テスト!”)

PythonからTwitterに投稿するのにtweepyを利用していたところ403が出てどうにも投稿ができませんでした。

Access Token and Secretの部分がReadのみになっていたのが原因でした。
アプリのSetting タブのApp permissionsを変更した時はKeys and tokens タブからRegenarateを行なってください。


MySQL Workbenchでバージョンエラー

MySQL Workbenchでダンプをするときに mysqldump Version Mismatch のエラーが発生した。
対象サーバのMySQLのバージョンが古かったためローカルのmysqldumpのバージョンを合わせる必要がある
エラーのダイアログをよく見ると対象サーバのバージョンが書いてあるのでまずはそのバージョンをインストールする。
私の場合は5.7.xxxだったので
手元のMBPでbrew install mysql@5.7
とインストールする。

インストール時のメッセージ中に

If you need to have mysql@5.7 first in your PATH run:
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> /Users/hideokashioka/.bash_profile
このようなメッセージが表示されていると思うがmysqldumpのパスは
/usr/local/opt/mysql@5.7/bin/mysqldump
となります。


Preference>AdministrationにあるPath to mysql Tool:の部分に先ほどのパスを入力して
ダイアログを閉じてください。
そうするとmysqldumpが指定のパスのものを利用するようになるのでmysqldump Version Mismatchは発生しなくなります。

VsCodeデバッグでエラー

VsCodeのpythonデバッグでエラーが発生した。

Preparing to run teams.lambda_handler locally...
Building SAM Application...
An error occurred trying to run SAM Application locally: Error with child process: pyenv: sam: command not found
,
The `sam' command exists in these Python versions:
,  3.7.0

pythonはインストールされていたはずだったがpyenvに設定して回避できた

a$ python3 --version
Python 3.7.0
$ pyenv global system 3.7.0