Specifying a pyenv virtual environment Python version fails on mac M1 due to incompatible architecture
- 主要言語
- Julia
- スター
- 1.5k
- フォーク
- 186
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Hello!
I am trying to build PyCall using a pyenv virtualenv, but I get the following error from `dlopen`
```shell
could not load library ".../.pyenv/versions/3.9.10/lib/libpython3.9.dylib" (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')
```
https://github.com/JuliaPy/PyCall.jl/blob/e81f9193d607c1b7c6c53bfbec9fde0bb13b5d3f/deps/buildutils.jl#L46
Complete output:
```shell
dlopen(/Users/pierreguilmin/.pyenv/versions/3.9.10/lib/libpython3.9.dylib) ==> ErrorException("could not load library \"/Users/pierreguilmin/.pyenv/versions/3.9.10/lib/libpython3.9.dylib\"\ndlopen(/Users/pierreguilmin/.pyenv/versions/3.9.10/lib/libpython3.9.dylib, 0x0009): tried: '/Users/pierreguilmin/.pyenv/versions/3.9.10/lib/libpython3.9.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))
```
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
レポートでリンクされている場所である deps/buildutils.jl の46行目付近から始め、PyCall が pyenv の Python ライブラリをどのように見つけて読み込むかを調べます。Apple M1 環境で失敗を再現し、その後、pyenv 環境を指定しても arm64/x86_64 のアーキテクチャ不一致が発生しなくなることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- julia, python
- 領域
- build-system, operating-systems
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100