Python shebang导入模块的问题(以及选择正确的解释器)
作者:互联网
我已经用谷歌搜索了堆栈溢出并找到了解决方案,但是我似乎找不到任何解决方法.基本上,这是我的问题:我正在尝试使用Image / PIL Python模块,该模块预装了Enthought的发行版,但没有默认的OSX python发行版.
注意,PIL / Image导入确实在经过考虑的外壳上起作用.
我的社bang是
#!/usr/local/bin/python
有没有简单的方法来更改我正在使用的python版本?
非常感谢您的帮助.
编辑:我找到了解决方案.通过在bash中键入“哪个python”(不带引号),我找到了存储思想分发的目录.
(/Library/Frameworks/Python.framework/Versions/Current/bin/python)对我来说.然后,我只需要将hashbang更改为
#!/Library/Frameworks/Python.framework/Versions/Current/bin/python
解决方法:
是. virtualenv是隔离python环境的公认方法,因此您可以选择使用所需的任何python版本.
虽然您可以完全按照上面的“自我回答”中的操作进行操作,但是将hashbang切换为
#!/Library/Frameworks/Python.framework/Versions/Current/bin/python
当您的python脚本数量增加时,您将开始感到困惑,并且您必须进行“大量搜索和替换”,以确保所有脚本都指向正确的python版本.
因此,建议的确是使用virtualenv及其包装程序mkvirtualenv
并将hashbang留在您的python脚本中.
并如下面的@ shx2所述,使用便携式shebang行
#! /usr/bin/env python
标签:bash,enthought,shebang,python,macos 来源: https://codeday.me/bug/20191123/2066642.html