我用Google搜索并搜索了堆栈溢出的解决方案,但我似乎无法找到解决此问题的方法。基本上,这是我的问题:我正在尝试使用Image / PIL Python模块,该模块预先安装了Enthought的发行版,但没有使用默认的OSX python发行版。
请注意,PIL / Image导入确实可以在enthought shell上运行。
我的shebang是
#!/usr/local/bin/python
有没有一种简单的方法来改变我正在使用的python版本?
非常感谢您的帮助。
编辑:我找到了解决方案。通过在bash中键入“which python”(不带引号),我找到了存储enthought发行版的目录。 (/ Library/Frameworks/Python.framework/Versions/Current/bin/python)对我来说。然后,我只需将hashbang更改为#!/Library/Frameworks/Python.framework/Versions/Current/bin/python
答案 0 :(得分:2)
是。 virtualenv
是隔离python环境的可接受方式,因此您可以选择使用您想要的任何python版本。
虽然你可以完全按照你在上面的问题自我答案中所做的那样,将hashbang切换到
#!/Library/Frameworks/Python.framework/Versions/Current/bin/python
当你的python脚本数量增加而你必须做“大规模搜索和替换”以确保所有脚本指向正确的python版本时,你会开始发现令人困惑的事情。
因此建议确实使用virtualenv
及其包装器姐妹mkvirtualenv
将hashbang留在你的python脚本中。
如下面@ shx2所述,使用便携式shebang线
#! /usr/bin/env python
答案 1 :(得分:1)
据我所知,最推荐/最便携的shebang系列是:
#! /usr/bin/env python