已安装Python模块,可以在终端中运行,但不能在文件中运行

时间:2018-07-11 13:02:04

标签: python module linuxmint

我的问题是我能够使用Shell在终端中导入python模块,但是当我将同一模块导入文件时,出现错误。 这是我收到的消息:

Traceback (most recent call last):
  File "/home/dalcoy/Desktop/Projects/Scripts/something.py", line 1, 
in <module>
import pygame
ImportError: No module named pygame
[Finished in 0.0s with exit code 1]
[shell_cmd: python -u 
"/home/dalcoy/Desktop/Projects/Scripts/something.py"]
[dir: /home/dalcoy/Desktop/Projects/Scripts]
[path:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]

这是程序:

import pygame

有解决方案吗?

2 个答案:

答案 0 :(得分:0)

必须首先安装模块才能在脚本中使用它。运行py -m pip install pygame以安装模块。然后它将在您的脚本中正常运行

答案 1 :(得分:0)

检查您使用的是哪种python版本,因为python shell可能是2.7,并且当您尝试从文件中将其作为脚本启动时,它可能会被其他python版本解释,例如未安装此模块的python3。

要检查:

# which python

# which python3 

您还可以调用如下文件来指定所需的python版本:

# python3 /path/to/file.py 

# python /path/to/file.py

您还可以使用以下命令使文件成为可执行文件

# chmod +x /path/to/file.py

并将hashbang添加到文件的第一行:

#!/usr/bin/env python3

然后能够像这样运行python脚本:

# ./my_script.py

在这里您可以阅读使用pip管理不同版本的数据包:

pip: dealing with multiple Python versions?