Как исправить ошибку импорта CyLP на M1 Mac?
Я хочу использовать пакет CyLP (https://github.com/coin-or/CyLP). Моя ОС - macOS Big Sur 11.5.1. Я использую Python 3.8.8 через anaconda3. Как и в README, я сначала установил cbc через homebrew. Поскольку он не работал с brew install coin-or-tools / coinor / cbc, я установил его с помощью brew install cbc . Затем я установил сам CyLP через pip install cylp . Установка прошла успешно. CyLP устанавливается в каталог /opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp . Но теперь я попробовал найти unittests python -m unittest в каталоге CyLP, и он дал мне ошибку, прикрепленную ниже.
Упомянутые файлы находятся в каталоге, поэтому я не знаю, как это исправить. Есть у кого-нибудь идея? Это было бы прекрасно!
ERROR: cy (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: cy
Traceback (most recent call last):
File "/opt/homebrew/anaconda3/lib/python3.8/unittest/loader.py", line 470, in _find_test_path
package = self._get_module_from_name(name)
File "/opt/homebrew/anaconda3/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "/opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/cy/__init__.py", line 1, in <module>
from .CyCoinIndexedVector import CyCoinIndexedVector
ImportError: dlopen(/opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/cy/CyCoinIndexedVector.cpython-38-darwin.so, 2): Symbol not found: __ZN9CoinError12printErrors_E
Referenced from: /opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/cy/CyCoinIndexedVector.cpython-38-darwin.so
Expected in: flat namespace
in /opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/cy/CyCoinIndexedVector.cpython-38-darwin.so
======================================================================
ERROR: py (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: py
Traceback (most recent call last):
File "/opt/homebrew/anaconda3/lib/python3.8/unittest/loader.py", line 470, in _find_test_path
package = self._get_module_from_name(name)
File "/opt/homebrew/anaconda3/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "/opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/py/__init__.py", line 1, in <module>
from . import pivots
File "/opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/py/pivots/__init__.py", line 3, in <module>
from .PositiveEdgePivot import PositiveEdgePivot
File "/opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/py/pivots/PositiveEdgePivot.py", line 9, in <module>
from cylp.cy import CyCoinIndexedVector
File "/opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/cy/__init__.py", line 1, in <module>
from .CyCoinIndexedVector import CyCoinIndexedVector
ImportError: dlopen(/opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/cy/CyCoinIndexedVector.cpython-38-darwin.so, 2): Symbol not found: __ZN9CoinError12printErrors_E
Referenced from: /opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/cy/CyCoinIndexedVector.cpython-38-darwin.so
Expected in: flat namespace
in /opt/homebrew/anaconda3/lib/python3.8/site-packages/cylp/cy/CyCoinIndexedVector.cpython-38-darwin.so
----------------------------------------------------------------------
Ran 2 tests in 0.000s