我有一个在Python Shell中运行良好的脚本,但是当双击它时,它无法导入PIL模块(但它确实在Shell中导入了PIL模块)。
怎么啦?我需要一个不同的防护罩吗?我使用的是Windows 7:
#!/usr/bin/env python
"""
"""
try:
from PIL import Image
import os
import datetime
import time
except Exception, e:
raw_input(str(e))
# Running this script in the Shell, the code gets to here
# Running this script in real life (just double click it) it prints "no module PIL"发布于 2011-06-16 10:57:39
添加这些行
import sys
print sys.executable添加到您的代码。当您在shell中运行它时,您将看到它是一个不同的python可执行文件,而不是双击.py文件。
如果您想要控制哪个已安装的python版本用于运行脚本,而不是简单地运行脚本,请在windows命令窗口中键入类似以下内容。
c:\python27\python.exe scriptname.py根据需要替换python目录和脚本名称。
发布于 2011-06-16 10:01:57
Windows会忽略shebang行(即使它会尊重它,它也不能执行/usr/bin/env --它在Windows上并不存在)。在资源管理器中双击将启动脚本,其中包含与.py扩展关联的程序。检查是否已将其设置为正确的Python版本。
发布于 2011-06-16 10:04:51
听起来你已经为Python的不同版本安装了PIL,而不是在Windows中打开.py文件。如果你使用的是Python2.7,PIL会将自己安装到C:\Python27\Lib\site-packages\PIL中,在这种情况下,你需要确保Windows用C:\Python27\python.exe打开.py文件。你可以用鼠标右键点击.py文件,点击Open With ->选择default program...将其设置为您为其安装了PIL的Python版本。
https://stackoverflow.com/questions/6366282
复制相似问题