NameError: name 'moviepy' is not defined after pip install moviepy
NameError: name 'moviepy' is not defined after pip install moviepy
我 运行 我的 moviepy 安装遇到了问题,但我不知道哪里出了问题。我已经尝试过 pip install moviepy,它说所有要求都已满足,但是在我的编辑器中,当我尝试“from moviepy.editor import *”时,moviepy 带有下划线并显示““moviepy”:未知词。”我试过 运行ning pip uninstall moviepy 并重新安装它,但没有用。我在同一个项目中使用 selenium,它工作正常,这就是我感到困惑的原因,但如果有人知道该怎么做,我将非常感激。
如果需要,这里是代码,如果你想让我尝试运行宁一些东西,请告诉我。
main.py
from get_clips import get_clips
from download_clips import download_clips
from upload_clips import upload_clips
from edit_clips import edit_clips
if __name__ == "__main__":
clips = get_clips()
download_clips(clips)
edit_clips(clips)
#upload_clips(clips)
print('done')
edit_clips.py
from moviepy.editor import *
def edit_clips(clips):
for clip in clips:
video = moviepy.editor.VideoFileClip('D:/zgarw/Documents/Projects/autoclip/tmp/' + clip['slug'] + '.mp4')
video_duration = int(video.duration)
print(video_duration)
这是我在 运行 代码时遇到的错误。
Traceback (most recent call last):
File "c:\Users\zgarw\Documents\Projects\autoclip\main.py", line 9, in <module>
edit_clips(clips)
File "c:\Users\zgarw\Documents\Projects\autoclip\edit_clips.py", line 6, in edit_clips
video = moviepy.editor.VideoFileClip('D:/zgarw/Documents/Projects/autoclip/tmp/' + clip['slug'] + '.mp4')
NameError: name 'moviepy' is not defined
您收到错误是因为您尚未将名称 moviepy
导入当前命名空间。相反,您导入了 moviepy.editor
的所有 public 成员。将您的代码更改为
video = VideoFileClip('D:/zgarw/Documents/Projects/autoclip/tmp/' + clip['slug'] + '.mp4')
它应该 运行 没问题。如果您想访问 moviepy
的其他模块或使用您的原始代码,只需执行 import moviepy
.
如果您只使用 VideoFileClip,那么您可以将 edit_clips.py 编辑为 :
from moviepy.editor import VideoFileClip
def edit_clips(clips):
for clip in clips:
video = VideoFileClip('D:/zgarw/Documents/Projects/autoclip/tmp/' + clip['slug'] + '.mp4')
video_duration = int(video.duration)
print(video_duration)
因为一般使用 import 语句 as
从模块导入 *
会污染命名空间,是个坏习惯。
我 运行 我的 moviepy 安装遇到了问题,但我不知道哪里出了问题。我已经尝试过 pip install moviepy,它说所有要求都已满足,但是在我的编辑器中,当我尝试“from moviepy.editor import *”时,moviepy 带有下划线并显示““moviepy”:未知词。”我试过 运行ning pip uninstall moviepy 并重新安装它,但没有用。我在同一个项目中使用 selenium,它工作正常,这就是我感到困惑的原因,但如果有人知道该怎么做,我将非常感激。
如果需要,这里是代码,如果你想让我尝试运行宁一些东西,请告诉我。
main.py
from get_clips import get_clips
from download_clips import download_clips
from upload_clips import upload_clips
from edit_clips import edit_clips
if __name__ == "__main__":
clips = get_clips()
download_clips(clips)
edit_clips(clips)
#upload_clips(clips)
print('done')
edit_clips.py
from moviepy.editor import *
def edit_clips(clips):
for clip in clips:
video = moviepy.editor.VideoFileClip('D:/zgarw/Documents/Projects/autoclip/tmp/' + clip['slug'] + '.mp4')
video_duration = int(video.duration)
print(video_duration)
这是我在 运行 代码时遇到的错误。
Traceback (most recent call last):
File "c:\Users\zgarw\Documents\Projects\autoclip\main.py", line 9, in <module>
edit_clips(clips)
File "c:\Users\zgarw\Documents\Projects\autoclip\edit_clips.py", line 6, in edit_clips
video = moviepy.editor.VideoFileClip('D:/zgarw/Documents/Projects/autoclip/tmp/' + clip['slug'] + '.mp4')
NameError: name 'moviepy' is not defined
您收到错误是因为您尚未将名称 moviepy
导入当前命名空间。相反,您导入了 moviepy.editor
的所有 public 成员。将您的代码更改为
video = VideoFileClip('D:/zgarw/Documents/Projects/autoclip/tmp/' + clip['slug'] + '.mp4')
它应该 运行 没问题。如果您想访问 moviepy
的其他模块或使用您的原始代码,只需执行 import moviepy
.
如果您只使用 VideoFileClip,那么您可以将 edit_clips.py 编辑为 :
from moviepy.editor import VideoFileClip
def edit_clips(clips):
for clip in clips:
video = VideoFileClip('D:/zgarw/Documents/Projects/autoclip/tmp/' + clip['slug'] + '.mp4')
video_duration = int(video.duration)
print(video_duration)
因为一般使用 import 语句 as
从模块导入 *
会污染命名空间,是个坏习惯。