혹시 python에서 moviepy 임포트 되는분 계신가요?
python으로 mp4에서 mp3 오디오만 추출하고 싶어서 구글링하다 아래 링크를 찾았고
https://dev.to/jimajs/how-to-convert-mp4-to-mp3-using-python-1dcf
링크의 예시 3줄로 mp4 가 mp3로 저장되는걸 일주일 전쯤에 확인을 했습니다.
// test.py 파일 생성
from moviepy.editor import * # Load the mp4 file video = VideoFileClip("example.mp4") # Extract audio from video video.audio.write_audiofile("example.mp3") |
그런데 어제 다시 python test.py 실행하니까 moviepy을 찾을 수 없다는 에러가 뜹니다.
ModuleNotFoundError: No module named 'moviepy.editor'; 'moviepy' is not a package
구글링해서 나오는 몇가지 방법 다 써봐도 여전히 계속 ModuleNotFoundError 에러가 뜨는데
- pip install moviepy
- pip install -m --trusted-host pypi.python.org moviepy
혹시 pip install moviepy 설치한 후로 test.py 소스에서
"from moviepy.editor import *" 했을때
ModuleNotFoundError 에러 안나게 하려면 뭔가 조치가 필요한건지
혹시 moviepy 빌드 경험 있으시면 조언 부탁 드립니다.
또는 moviepy 대신 mp4에서 mp3 추출할 더 사용하기 쉬운 라이브러리 아시면 소개 부탁 드릴께요.
// python test.py 실행시 moviepy 찾을 수 없다고 에러 발생
// 현재 pip 패키지 설치 현황
// test.py 코드 (맨 위 링크에서 파일명망 고침)
// pip install moviepy 설치된 상황
// python 그냥 실행해서 import 해도 찾을 수 없다고 에러 발생
pip uninstall moviepy 했다가
pip install moviepy 해보고, 버전 다시 확인해 보ㅅ요.
다시 uninstall 했다가 install 했는데 1.0.3 이라고 뜨지만
여전히 "ModuleNotFoundError: No module named 'moviepy.editor'; 'moviepy' is not a package" 에러는 나고 있네요.
혹시 파이썬에서 from moviepy.editor import * 했을때 에러는 안나실까요?
저만 그런건지.... 분명 일주일전에는 잘 동작하는걸 확인했는데, 갑자기 안되는 이유를 모르겠습니다.
// 실행결과
E:\example>pip uninstall moviepy
Found existing installation: moviepy 1.0.3
Would remove:
c:\...\site-packages\moviepy-1.0.3.dist-info\*
c:\...\site-packages\moviepy\*
Proceed (Y/n)? y
Successfully uninstalled moviepy-1.0.3
E:\example>pip install moviepy
Collecting moviepy
Using cached moviepy-1.0.3-py3-none-any.whl
Requirement already satisfied: decorator<5.0,>=4.0.2 in c:\...\site-packages (from moviepy) (4.4.2)
Requirement already satisfied: tqdm<5.0,>=4.11.2 in c:\...\site-packages (from moviepy) (4.66.2)
Requirement already satisfied: requests<3.0,>=2.8.1 in c:\...\site-packages (from moviepy) (2.31.0)
Requirement already satisfied: proglog<=1.0.0 in c:\...\site-packages (from moviepy) (0.1.10)
Requirement already satisfied: numpy>=1.17.3 in c:\...\site-packages (from moviepy) (1.26.4)
Requirement already satisfied: imageio<3.0,>=2.5 in c:\...\site-packages (from moviepy) (2.34.0)
Requirement already satisfied: imageio-ffmpeg>=0.2.0 in c:\...\site-packages (from moviepy) (0.4.9)
Requirement already satisfied: pillow>=8.3.2 in c:\...\site-packages (from imageio<3.0,>=2.5->moviepy) (10.2.0)
Requirement already satisfied: setuptools in c:\...\site-packages (from imageio-ffmpeg>=0.2.0->moviepy) (65.5.0)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\...\site-packages (from requests<3.0,>=2.8.1->moviepy) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in c:\...\site-packages (from requests<3.0,>=2.8.1->moviepy) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\...\site-packages (from requests<3.0,>=2.8.1->moviepy) (2.2.1)
Requirement already satisfied: certifi>=2017.4.17 in c:\...\site-packages (from requests<3.0,>=2.8.1->moviepy) (2024.2.2)
Requirement already satisfied: colorama in c:\...\site-packages (from tqdm<5.0,>=4.11.2->moviepy) (0.4.6)
Installing collected packages: moviepy
Successfully installed moviepy-1.0.3
E:\example>python test.py
Traceback (most recent call last):
File "E:\example\test.py", line 1, in <module>
from moviepy.editor import *
File "E:\example\moviepy.py", line 7, in <module>
from moviepy.editor import *
ModuleNotFoundError: No module named 'moviepy.editor'; 'moviepy' is not a package
E:\example>python
Python 3.11.1 (tags/v3.11.1:a7a450f, Dec 6 2022, 19:58:39) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from moviepy.editor import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "E:\example\moviepy.py", line 7, in <module>
from moviepy.editor import *
ModuleNotFoundError: No module named 'moviepy.editor'; 'moviepy' is not a package
>>>
E:\example>
문제 원인은 같은 디렉토리에 moviepy 라이브러리와 같은 이름올 moviepy.py 의 예제 코드를 넣어 놓은게
import moviepy 하는게 moviepy.py 를 끌어가면서 문제가 된걸 이해야 이해했습니다.
3일동안 왜 안되나 계속 삽질했는데...
독학으로 예제만 긁어가면서 배운 파이썬이라, 이런 기초도 몰랐던게 이번에 크게 삽질했네요. ㅠ.ㅠ
해보세요.
pip -V 출력하고
python -m pip -V 출력해보시면 서로 다를것 같네요.
=============
아니었네요. 에러메시지 안읽었더니 헛다리 짚었습니다.
에러메시지 읽는게 이렇게 중요합니다.
조언 감사합니다.
알려주신 pip 설치 옵션은 잘 메모해 두고 버전 확인할때 참고 하겠습니다.
3일동안 왜 안되나 계속 삽질했는데...
기초 부족은 언젠가 발목을 잡는다는 진리를 다시 한번 몸소 체험하네요. ㅠ.ㅠ
이런 경우에 test.py에서 import를 하려고할 때 문제가 생길 수 있습니다!
(에러를 보니 존재하는 것 같아서요.)
아.... moviepy lib 이름과 똑같은 moviepy.py 파일이 존재하는 상황입니다.
moviepy.py 이름으로 원본 예제 코드를 백업해둔 상황인데....
제가 파이썬의 import 기본도 모르는 실수를 한거 같습니다.
독학으로 막배운 얕은 내공이 이렇게 드러나네요. ;;;
moviepy 패키지 문제인지 며칠동안 삽질했는데.... ;;; 조언 정말 감사합니다.
지금 외부라 해볼수가 없는데... 이따 퇴근하면 다시 확인해 보겠습니다.
일단 moviepy.py 존재하지 않도록 파일명 다른걸로 바꿔서 다시 해보겠습니다.
같은 디렉토리에 존재하던 moviepy.py 파일을 ex_moviepy.py 해주니까...
from moviepy.editor import * 추가 잘 되면서 코드도 다시 잘 돌아가네요.
일주일 전체 moviepy 예제 소스 처음 도는거 확인하고...
폴더 옮겨서 제대로 구현한답 시고, 처음 확인한 예제 소스를 moviepy 예제니까
moviepy.py 이름으로 백업해둔게 import 에서 이런 사단을 불러올줄은 미처 몰랐습니다.
PS E:\example> python .\test.py
MoviePy - Writing audio in video.mp3
MoviePy - Done.
PS E:\example>
3일동안 왜 안되나 계속 삽질했는데...
독학으로 예제만 긁어가면서 배운 파이썬이라, 이런 기초도 몰랐던게 이번에 크게 삽질했네요. ㅠ.ㅠ
기초 부족은 언젠가 발목을 잡는다는 진리를 다시 한번 몸소 체험합니다.
기초 부족은 아니고, 아마 대부분의 개발자가 겪는 경험일겁니다!
저도 비슷한 실수를 해서 삽질을 해본 경험이 있어서 바로 보고 파악을 한거라..
도움이 되셨다니 다행이에요