前提・実現したいこと
初めて投稿させて頂きます。
研究でPythonライブラリのOpenseespymacを使おうとしているのですが、インポートエラーが出てしまい困っています。
以下に動作環境を示します。
動作環境
MacOS Catalina ver.10.15.7
Homebrew 2.7.1
Case1:pyenv 1.2.21、Python 3.8.6
Case2:Python 3.9.1
Case01
まずpyenv内のPythonで実行した結果が以下です。
試したこと
% where python3 #パスの確認 /Users/host/.pyenv/shims/python3 /Users/host/.pyenv/shims/python3 /usr/local/bin/python3 /usr/bin/python3 % python3 -m pip install openseespymac==11.19.2020 # pipでinstall Collecting openseespymac==11.19.2020 Using cached openseespymac-11.19.2020-py3-none-any.whl (29.5 MB) Installing collected packages: openseespymac Successfully installed openseespymac-11.19.2020 % python3 Python 3.8.6 (default, Dec 30 2020, 19:04:40) [Clang 12.0.0 (clang-1200.0.32.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>import openseespymac.opensees Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: dlopen(/Users/host/.pyenv/versions/3.8.6/lib/python3.8/site-packages/openseespymac/opensees.so, 2): Symbol not found: _PyModule_Create2 Referenced from: /Users/host/.pyenv/versions/3.8.6/lib/python3.8/site-packages/openseespymac/opensees.so Expected in: /System/Library/Frameworks/Python.framework/Versions/2.7/Python in /Users/host/.pyenv/versions/3.8.6/lib/python3.8/site-packages/openseespymac/opensees.so
Case02
困ったので原因を探してみたところ、参考リンク02が見つかったので、Homebrewから直接Pythonをインストールしてみた結果が以下です。
結論からいうと、Case01と同じ結果となってしまいました。
試したこと
% where python3 #パスの確認 /usr/local/bin/python3 /Users/host/.pyenv/shims/python3 /Users/host/.pyenv/shims/python3 /usr/local/bin/python3 /usr/bin/python3 % python3 -m pip install openseespymac==11.19.2020 # pipでinstall Collecting openseespymac==11.19.2020 Using cached openseespymac-11.19.2020-py3-none-any.whl (29.5 MB) Installing collected packages: openseespymac Successfully installed openseespymac-11.19.2020 % python3 Python 3.9.1 (default, Dec 28 2020, 11:24:06) [Clang 12.0.0 (clang-1200.0.32.28)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>import openseespymac.opensees Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: dlopen(/usr/local/lib/python3.9/site-packages/openseespymac/opensees.so, 2): Symbol not found: _PyModule_Create2 Referenced from: /usr/local/lib/python3.9/site-packages/openseespymac/opensees.so Expected in: /System/Library/Frameworks/Python.framework/Versions/2.7/Python in /usr/local/lib/python3.9/site-packages/openseespymac/opensees.so
疑問
各ケースでそれぞれのPythonを参照するはずだと思うのですが、なぜ/System/Library/Frameworks/Python.framework/Versions/2.7/Pythonを参照してしまうのでしょうか?
どなたかご意見いただけると幸いです。よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
参考リンク01https://pypi.org/project/openseespymac/11.19.2020/
参考リンク02https://stackoverflow.com/questions/61494932/how-can-i-resolve-the-library-not-loaded-error-with-openseespymac
回答1件
あなたの回答
tips
プレビュー