Python Script: запускается в оболочке, но не работает в реальной жизни, потому что не может импортировать модуль - PullRequest
0 голосов
/ 16 июня 2011

У меня есть скрипт, который отлично работает в оболочке Python, но при двойном щелчке он не может импортировать модуль PIL (но он импортирует модуль 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"

Ответы [ 4 ]

3 голосов
/ 16 июня 2011

Добавьте строки

import sys
print sys.executable

в ваш код.Когда вы запустите его в оболочке, вы увидите, что это другой исполняемый файл python вместо двойного щелчка по файлу .py.

Если вы хотите контролировать, какая установленная версия python используется для запуска вашего сценария,вместо того, чтобы просто запустить скрипт, введите что-то вроде следующего в командном окне Windows.

c:\python27\python.exe scriptname.py

, заменив каталог и имя скрипта соответствующим образом.

2 голосов
/ 16 июня 2011

Windows игнорирует строку shebang (даже если она будет уважать ее, она не сможет выполнить /usr/bin/env - она ​​не существует в Windows). Двойной щелчок в проводнике запускает скрипт с программой, связанной с расширением .py. Убедитесь, что вы установили правильную версию Python.

0 голосов
/ 18 февраля 2013

У меня тоже была эта проблема, но я понял, что мне нужно обновить файл app.yaml. Вставьте это в libraries:

- name: PIL
  version: "1.1.7"
0 голосов
/ 16 июня 2011

Похоже, у вас установлен PIL для другой версии Python, отличной от установленной для открытия файлов .py в Windows.PIL устанавливается в C:\Python27\Lib\site-packages\PIL, если вы используете Python 2.7, и в этом случае вы должны убедиться, что Windows открывает .py файлы с C:\Python27\python.exe.Вы можете щелкнуть правой кнопкой мыши на файле .py, щелкнуть Открыть с помощью -> Выбрать программу по умолчанию ..., чтобы установить для него версию Python, для которой вы установили PIL.

...