我在 Mac(OSX 10.9.4)上安装了 Python 3.4.1,我需要使用枚举。我开始在文本文件中编写脚本:
#!/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
如何使用脚本文件中的枚举?
编辑:
如果我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
,而且它似乎使用了 2.7 版本的 python,即使我刚刚安装了最新版本(3.4.1)。
答案1
请替换第一行:
#!/usr/bin/python
如下所示:
#!/usr/bin/env python3
这应该对你有用。
前者被硬编码为始终运行/usr/bin/python
,而后者将运行当前环境中默认的 python (尝试echo $PATH
)。
另请参考以下答案: