Я пытаюсь заставить Librosa работать с python. Первоначально у меня был установлен Python 2.7, мне не удалось заставить Librosa работать с Python 2.7, поэтому я установил Anaconda (который никогда раньше не использовал), чтобы у меня была отдельная среда (чтобы мои старые программы, написанные на 2.7, могли продолжаем работать). Я пытаюсь использовать записную книжку Jupyter, которую я никогда раньше не использовал, и мне, наконец, удалось импортировать Librosa после создания среды Anaconda с Python 3.6, однако я не могу импортировать librosa.display
Когда я искал в Google импорт Librosa.display, по-видимому, мне нужно сначала установить matplotlib, однако импорт matplotlib не работает, и я не уверен, почему. Я думаю, что это могло произойти из-за импорта PIL / подушки? однако я никогда специально не использовал этот модуль раньше или должен был устанавливать его отдельно при использовании matplotlib, поэтому я не уверен, зачем он нужен. Я попытался переустановить подушку с помощью PIP-установки в среде anaconda python3.6, которую я создал, но это не сработало, поэтому теперь застрял и просто задаюсь вопросом, может ли кто-нибудь мне помочь?
для кода импорта следующим образом
import matplotlib
import librosa
import matplotlib.pyplot as plt
import librosa.display
Программа застревает при импорте matplotlib.pyplot как plt, и сообщение об ошибке, которое у меня сейчас есть, выглядит следующим образом (до переустановки подушки она не работала, но сообщение было другим):
C:\Users\sh\.conda\envs\signalprocess1\lib\site-packages\PIL\Image.py:130: RuntimeWarning: The _imaging extension was built for another version of Pillow or PIL:
Core version: 8.2.0
Pillow version: 8.1.2
warnings.warn(str(v), RuntimeWarning)
C:\Users\sh\.conda\envs\signalprocess1\lib\site-packages\matplotlib\mathtext.py in <module>()
25
26 import numpy as np
---> 27 from PIL import Image
28 from pyparsing import (
29 Combine, Empty, FollowedBy, Forward, Group, Literal, oneOf, OneOrMore,
C:\Users\sh\.conda\envs\signalprocess1\lib\site-packages\PIL\Image.py in <module>()
111 if __version__ != getattr(core, "PILLOW_VERSION", None):
112 raise ImportError(
--> 113 "The _imaging extension was built for another version of Pillow or PIL:\n"
114 f"Core version: {getattr(core, 'PILLOW_VERSION', None)}\n"
115 f"Pillow version: {__version__}"
ImportError: The _imaging extension was built for another version of Pillow or PIL:
Core version: 8.2.0
Pillow version: 8.1.2
Любая помощь была бы замечательной. Мне не нужно использовать Jupyter. Я совершенно счастлив использовать IDLE, если IDLE будет работать с Librosa и matplotlib через Python 3.6. Все, что мне нужно, это заставить работать Librosa и Matplotlib, чтобы я мог анализировать сигналы! Думаю, если я потрачу на это еще пару дней, я в конце концов с этим справлюсь, но очень неприятно тратить все это время, просто пытаясь заставить пакеты работать, прежде чем я даже дойду до анализа сигналов.
Благодарность!!
Я не уверен, что я делал не так … однако в конце концов я получил librosa, работающую с anaconda python 3.8 и jupyter в Windows 10 (64) следующим образом …
Удалена анаконда (возможно, ее не нужно было удалять — не уверен)
Удалил jupyter как можно лучше (все еще казалось, что некоторые остатки связаны с arcpy)
Установлена miniconda версия Python 3.8
Создал новую (отдельную) среду Conda, которая также использовала python 3.8
Это было сделано, открыв командную строку Conda и набрав ……
(обратите внимание, что signalpro38 — это имя, которое я дал новой среде)
активировал новую среду, набрав:
Установлен:
тогда
в новую среду (signalpro38), набрав
и Т. Д.
Добавил новую среду anaconda в jupyter, следуя инструкциям здесь:
https://medium.com/@nrk25693/how-to-add-your-conda-environment-to-your-jupyter-notebook-in-just-4-steps-abeab8b8d084
открыл jupyter и создал новую записную книжку (не забудьте выбрать имя новой среды signalpro38)
набрал код в новую записную книжку, сохранил и запустил его, чтобы проверить, что команды
и
работали нормально в jupyter
Закрыл jupyter и вернулся в командную строку Conda (среда signalpro38, которую я создал, все еще была активирована), затем установил librosa, используя
(обратите внимание, что conda install librosa не нашла librosa, однако я полагаю, что есть способ установить librosa также с помощью conda)
снова открыл jupyter и ранее сохраненный файл записной книжки и добавил
вроде теперь все работает хорошо!
Надеюсь, это поможет кому-то другому! скорее всего, это поможет мне, когда однажды мне понадобится сделать это снова! :п