impossible d'exécuter ModuleNotFoundError dans le terminal . Mais travailler dans pycharm ide


Vipin

j'apprends le python

J'ai la structure du projet ci-dessous.

i3cmd
    i3lib
      __init__.py
      i3common.py
    i3sound
      i3sound.py

================================================== =============

init .py est vide

i3common.py (suppression du code réel pour simplifier la publication)

def rangeofdata(cmd, device, index):
    return ["a", "b", "c"]

i3sound.py (suppression du code réel pour simplifier la publication)

from i3lib import i3common


def getvolume(rangedata):
    return rangedata


if __name__ == '__main__':
    rangedata = i3common.rangeofdata(["pactl", "list", "sinks"], "Sink", 2)
    print(getvolume(rangedata))

Lorsque vous exécutez ce code dans pycharm, il s'exécute et obtient une sortie

/home/vipin/Documents/python/i3cmd/venv/bin/python /home/vipin/Documents/python/i3cmd/i3sound/i3sound.py
['a', 'b', 'c']

Process finished with exit code 0

Mais lorsque vous ouvrez un terminal et accédez à /home/vipin/Documents/python/i3cmd/i3sound

cd /home/vipin/Documents/python/i3cmd/i3sound

puis exécuter

python i3sound.py

ci-dessous l'erreur que je reçois

Traceback (most recent call last):
  File "i3sound.py", line 1, in <module>
    from i3lib import i3common
ModuleNotFoundError: No module named 'i3lib'

Qu'est-ce que je manque?

Abdirahman

hey @Vipin voici ce que vous devez faire :

dans i3sound.py ajoutez ces lignes : import sys,sys.path.append("..")

    import sys
    sys.path.append("..")
    from i3lib import i3common


    def getvolume(rangedata):
        return rangedata


    if __name__ == '__main__':
        rangedata = i3common.rangeofdata(["pactl", "list", "sinks"], "Sink", 2)
        print(getvolume(rangedata))

sortie : ['a', 'b', 'c']

Articles connexes


Impossible d'exécuter Go Bin dans le terminal

GoofBall101: J'exécute mon code Golang sur Visual Studio dans le terminal depuis quelques semaines. Tout d'un coup, j'essaie d'exécuter un programme que j'ai créé, et il ne fonctionne pas dans le terminal. Je tape go install project puis tapez project . Je me

Impossible d'exécuter NPM dans le terminal MAC

Arun Sunderraj Impossible d'exécuter npm sous mac, j'ai essayé de désinstaller et de le réinstaller. (Supprimé le NPM correctement et réinstallé). Mais chaque fois que je reçois une erreur en dessous. Error: EEXIST: file already exists, mkdir '/usr/local/bin/n

mysql - impossible d'exécuter des commandes dans le terminal?

jinglei Je suis nouveau dans la base de données et mysql. Après avoir exécuté sudo mysql -u root -pet saisi mon mot de passe, j'entre dans mysql avec succès. (Je suis sous Mac OS X 10.10.) Cependant, lorsque j'ai essayé de créer une base de données, il y avait