1

Я установил Python 3.4.1 на свой Mac (OSX 10.9.4), и мне нужно работать с перечислениями. Я начал писать скрипт в текстовом файле:

#!/usr/bin/python
from enum import Enum

И из терминала:

chmod 0700 myscript.py
./myscript.py

Но я получаю следующую ошибку:

from enum import Enum
ImportError: No module named enum

В то же время, если я использую IDLE, у меня нет проблем с командой:

from enum import Enum

Как я могу использовать enum из файла скрипта?

РЕДАКТИРОВАТЬ:

Если я echo $PYTHONPATH ничего не печатается. Следующее - это вывод print(sys.path):

['/Users/Marco/Desktop/scripts', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Library/Python/2.7/site-packages']

Я вижу, что первый путь соответствует каталогу, в котором находится myscript.py , также кажется, что используется версия Python 2.7, даже если я только что установил последнюю версию (3.4.1).

1 ответ1

2

Пожалуйста, замените свою первую строку:

#!/usr/bin/python

со следующим:

#!/usr/bin/env python3

Это должно работать для вас.

Первый жестко задан для запуска /usr/bin/python , в то время как последний будет запускаться в зависимости от того, какой python будет использоваться по умолчанию в вашей текущей среде (попробуйте echo $PATH).

Пожалуйста, обратитесь также к следующим ответам:

В чем разница между этими двумя питонскими шебангами?

Почему люди пишут #!/usr/bin/env python в первой строке скрипта Python?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .