我已经用谷歌搜索并搜索了堆栈溢出的解决方案,但我似乎找不到任何方法来解决这个问题。基本上,这是我的问题:我正在尝试使用 Image/PIL Python 模块,它预装了 Enthought 的发行版,但不是默认的 OSX python 发行版。
请注意,PIL/Image 导入确实适用于 enthought shell。
我的家是
#!/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
最佳答案
是的。 virtualenv
是公认的隔离 python 环境的方法,因此您可以选择使用您想要的任何 python 版本。
虽然您可以完全按照上面的问题- self 回答中的方式进行操作,但将 hashbang 切换为
#!/Library/Frameworks/Python.framework/Versions/Current/bin/python
当您的 python 脚本数量增加时,您会开始感到困惑,您必须进行“大量搜索和替换”以确保所有脚本都指向正确的 python 版本。
所以建议确实是使用virtualenv
和它的包装姐妹mkvirtualenv
并且将 hashbang 留在你的 python 脚本中。
正如下面@shx2 所提到的,使用可移植 shebang 线
#! /usr/bin/env python
关于导入模块(并选择正确的解释器)的 Python shebang 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16503761/