JuliaPy / JuliaPy/PyCall.jl

Specifying a pyenv virtual environment Python version fails on mac M1 due to incompatible architecture

オープン
#996 コメント 1 件 リアクション 2 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。