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']