3

我已经用谷歌搜索并搜索了堆栈溢出的解决方案,但我似乎找不到任何方法来解决这个问题。基本上,这是我的问题:我正在尝试使用预装 Enthought 发行版的 Image/PIL Python 模块,而不是默认的 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
4

2 回答 2

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
于 2013-05-12T05:05:39.933 回答
1

据我所知,最推荐/最便携的shebang线是这样的:

#! /usr/bin/env python
于 2013-05-12T05:05:31.093 回答