Ошибка Py2App: ModuleNotFoundError: нет модуля с именем «cmath» при использовании Pandas

Я пытаюсь создать отдельное приложение, использующее Pandas. Это мой файл setup.py:

from setuptools import setup

APP = ['MyApp.py']
DATA_FILES = ['full path to/chromedriver']
PKGS = ['pandas','matplotlib','selenium','xlrd']
OPTIONS = {'packages': PKGS, 'iconfile': 'MyApp_icon.icns'}


setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app','pandas','matplotlib','selenium','xlrd'],
)

Создание файла *.app проходит гладко, но когда я пытаюсь его запустить, выдает следующую ошибку:

...
import pandas._libs.testing as _testing
      File "pandas/_libs/testing.pyx", line 1, in init pandas._libs.testing
    ModuleNotFoundError: No module named 'cmath'

Я попытался включить «cmath» в свой список PKGS и в setup_requires в файле setup.py, но когда я попытался собрать приложение с помощью py2app, это выдало мне ошибку:

distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('cmath')

Я застрял. В сети ничего полезного не нашел. cmath должно быть автоматически включено из того, что я читал. Любые идеи о том, где проблема и как я могу ее исправить?


person Pier    schedule 11.04.2021    source источник


Ответы (1)


Я думаю, что нашел решение: перейти на Python версии 3.6.6. См.: модуль python 3.6 'cmath' не найден

Чтобы удалить Python, я выполнил этот процесс: https://www.macupdate.com/app/mac/5880/python/uninstall Затем я установил Python 3.6.6: https://www.python.org/downloads/release/python-366/

С Python 3.6.6 Py2App работает без проблем и плавно включает Pandas.

Кажется, по каким-то причинам cmath не входит в последние версии Python? Я могу быть не прав. Пожалуйста, дайте мне знать, что вы думаете, и если у вас есть какие-либо вопросы.

P.S.: Я использую MacOS (Mojave 10.14.6) и PyCharm.

person Pier    schedule 15.04.2021
comment
Интересно. cmath по-прежнему является частью стандартной библиотеки Python версии 3.9.4: docs.python. org/3/library/cmath.html - person Laurent; 15.04.2021
comment
Тогда непонятно, что происходит. Может быть, это зависит от того, как Py2App работает с разными версиями Python? - person Pier; 15.04.2021