使用 python filename.py 执行时没有名为 psutil 的模块,但与 shebang & chmod 完美配合
No module named psutil when executed using python filename.py but works perfectly with shebang & chmod
考虑 python
中的这段代码
#!/usr/bin/env python3
import shutil
import psutil
def check_disk_usage(disk):
a=shutil.disk_usage(disk)
free=a.free/a.total*100
return free
print(check_disk_usage("/"))
当我在终端中使用“python health.py”执行此操作时。它给出了错误
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ code health.py
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ python health.py
Traceback (most recent call last):
File "health.py", line 3, in <module>
import psutil
ImportError: No module named psutil
但是当我这样执行时,它运行得很好。为什么会这样??
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ code health.py
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ chmod +x health.py
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ ./health.py
87.24079278480475
有人可以帮我解决这个问题吗?
在您的 shebang 中,您明确使用了 python3
,但当您从终端启动它时却没有。因此,尝试:
python3 health.py
为了理解,请尝试在您的终端中输入 which python
或 python --version
。我打赌它不是指向 python3,而是 python2.
考虑 python
中的这段代码#!/usr/bin/env python3
import shutil
import psutil
def check_disk_usage(disk):
a=shutil.disk_usage(disk)
free=a.free/a.total*100
return free
print(check_disk_usage("/"))
当我在终端中使用“python health.py”执行此操作时。它给出了错误
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ code health.py
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ python health.py
Traceback (most recent call last):
File "health.py", line 3, in <module>
import psutil
ImportError: No module named psutil
但是当我这样执行时,它运行得很好。为什么会这样??
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ code health.py
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ chmod +x health.py
shambhav@shambhav-Lenovo-Legion-Y540-15IRH-PG0:~/Desktop/coursera$ ./health.py
87.24079278480475
有人可以帮我解决这个问题吗?
在您的 shebang 中,您明确使用了 python3
,但当您从终端启动它时却没有。因此,尝试:
python3 health.py
为了理解,请尝试在您的终端中输入 which python
或 python --version
。我打赌它不是指向 python3,而是 python2.