Nano Hash - криптовалюты, майнинг, программирование

ImportError при использовании cx_Freeze с scipy

Я пытаюсь использовать cx_Freeze для создания .app из проекта python. Обычно у меня это работает, но некоторые из моих модулей, которые зависят от scipy, имеют ошибку импорта при выполнении:

No module named '_csr'

в папке сборки я вижу файл:

scipy.sparse.sparsetools._csr.so

и просмотр вывода команды сборки, кажется, предполагает, что она копирует csr:

$ python3 setup.py bdist_mac | grep csr
m scipy.sparse.csr          /usr/local/lib/python3.3/site-packages/scipy/sparse/csr.py
m scipy.sparse.sparsetools._csr /usr/local/lib/python3.3/site-packages/scipy/sparse/sparsetools/_csr.so
m scipy.sparse.sparsetools.csr /usr/local/lib/python3.3/site-packages/scipy/sparse/sparsetools/csr.py
? _csr imported from scipy.sparse.sparsetools.csr
? os.path imported from NIF_WRF.util.StopPow, distutils.file_util, matplotlib.backends.backend_tkagg, matplotlib.cbook, numpy.core.memmap, numpy.distutils.command.scons, os, pkg_resources, pkgutil, scipy.lib.blas.scons_support, scipy.lib.blas.setup, scipy.lib.lapack.scons_support, scipy.linalg.setup, scipy.sparse.csgraph.setup, scipy.sparse.linalg.dsolve.setup, scipy.sparse.linalg.eigen.arpack.setup, scipy.sparse.linalg.isolve.setup, scipy.sparse.sparsetools.bsr, scipy.sparse.sparsetools.coo, scipy.sparse.sparsetools.csc, scipy.sparse.sparsetools.csgraph, scipy.sparse.sparsetools.csr, scipy.sparse.sparsetools.dia, scipy.special.setup, shutil, sysconfig
? scipy.lib.six.moves imported from scipy.integrate.quadrature, scipy.interpolate.interpolate, scipy.interpolate.polyint, scipy.linalg.special_matrices, scipy.misc.common, scipy.optimize.anneal, scipy.optimize.linesearch, scipy.optimize.nonlin, scipy.sparse.base, scipy.sparse.compressed, scipy.sparse.coo, scipy.sparse.csc, scipy.sparse.csr, scipy.sparse.dok, scipy.sparse.lil, scipy.sparse.linalg.eigen.lobpcg.lobpcg, scipy.sparse.linalg.isolve.lgmres, scipy.spatial.distance, scipy.special.basic, scipy.stats.stats
copying /usr/local/lib/python3.3/site-packages/scipy/sparse/sparsetools/_csr.so -> build/exe.macosx-10.8-x86_64-3.3/scipy.sparse.sparsetools._csr.so

Проблема, похоже, связана с этим другим вопросом, но этот пользователь, похоже, решил это путем повторного построения, что здесь не помогло. Есть идеи?

ОБНОВЛЕНИЕ

Я покопался в содержимом пакета .app и обнаружил, что переименование scipy.sparse.sparsetools._csr.so в _csr.so решает эту ошибку (хотя создает еще одну аналогичную ошибку для другого компонента scipy). Похоже, что скрипт cx_Freeze неправильно называет входные данные scipy.

Кроме того, вот версии, которые я использую:

  • cx_Freeze: 4.3.2
  • сценарий: 0.13.0
  • питон: 3.3.2

  • У вас установлена ​​последняя версия cx_Freeze (4.3.2)? Импорт немного изменился в Python 3.3, и в последней версии могут быть некоторые исправления. 25.10.2013
  • О, черт, уже ошибка... пожалуйста, сообщите о проблеме на bitbucket.org/anthony_tuininga/cx_freeze/issues чтобы не забыть. 27.10.2013
  • И предоставьте в отчете об ошибке столько информации, сколько вы готовы поделиться — ваш setup.py, результат замораживания, полную трассировку ошибки, которую вы видите, даже заархивированное содержимое вашего каталога сборки, если вы этого не сделаете. разум сделать это публичным. 27.10.2013
  • Спасибо за помощь, я опубликую вопрос. При более глубоком копании проблема, похоже, связана с импортом определенных модулей: import scipy будет зависать нормально, а import scipy.interpolate - нет. Я напишу быстрый пример. 27.10.2013

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..