web-dev-qa-db-fra.com

Cronjob - Impossible de trouver le module "pydub"

J'ai un script python qui fonctionne parfaitement dans mon Ubuntu 16.04 GCP . selon les exigences du projet, je dois exécuter ce script avec crontab (crontab avec l'utilisateur Sudo)

mais lorsque cronjob l'a exécuté, il n'a pas pu trouver le module python nommé "pydub", mais ce module est installé.

Traceback (most recent call last):
  File "/script_path/script.py", line 6, in <module>
    from pydub import AudioSegment
ImportError: No module named pydub 

#!/usr/bin/env python3.5
import os
import sys
import magic
from mutagen.mp3 import MP3
from pydub import AudioSegment

for path, subdirs, files in os.walk("/var/www/html/files/"):
    for name in files:
        filename = os.path.join(path, name)
        if(filename.find(".mp3") > 0):
            try:
                m = magic.open(magic.MAGIC_MIME)
                m.load()
                mime_type = m.file(filename)
                if(mime_type.find('mpeg') == -1):
                    AudioSegment.from_file(filename).export(filename, format="mp3")
                    print("Converted to MP3")

                f = MP3(filename)
                bitrate = f.info.bitrate / 1000
                if(bitrate > 100):
                    sound = AudioSegment.from_file(filename)
                    sound.export(filename, format="mp3", bitrate="40k")
                    print("Changed the Bitrate!")
            except:
                print(sys.exc_info())
                print(filename)

s'il vous plaît aider

1
user3031108

essayez de suivre

import os
import sys
sys.path.append(os.path.abspath("your installed python module path"))

espérons que cette aide



Pour obtenir le chemin du module, procédez comme suit:

Dans le type de terminal ou SSH

 python 

puis tapez:

import pydub 

ensuite

print(pydub)

cette commande vous donnera le chemin du module

2
Rajinder