名称错误:pip 安装电影后未定义名称'moviepy'



我的电影安装遇到了一个问题,但我不知道哪里出了问题。我尝试了pip install moviepy,它说所有的要求都满足了,但在我的编辑器中,当我尝试"from moviepy。编辑器导入*"moviepy被划了线,并表示";&;moviepy&;;未知单词。&;我已经尝试运行pip卸载电影和重新安装它,但没有工作。我在同一个项目中使用硒,它工作得很好,这就是为什么我很困惑,但如果有人知道该怎么做,我真的很感激。

如果需要,这里是代码,如果你想让我试着运行一些东西,请告诉我。

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:UserszgarwDocumentsProjectsautoclipmain.py", line 9, in <module>
edit_clips(clips)
File "c:UserszgarwDocumentsProjectsautoclipedit_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的所有公共成员。将代码更改为

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语句中使用

from module import *

将污染命名空间,是一个坏习惯。

最新更新