关于可执行文件:Python部署和/ usr / bin / env可移植性
Python deployment and /usr/bin/env portability在所有可执行Python脚本的开头,我都添加了shebang行:
我正在
如果可能的话,我不想更改每个可执行文件的shebang行;但是,我没有对该计算机的管理访问权限来更改
我想避免这种情况,因为系统可能具有比Python 2.4更高的版本,或者可能具有Python 2.5但没有Python 2.4。 什么是优雅的解决方案? [编辑:]我在提出问题时还不够具体-我想让用户无需手动配置即可执行脚本(例如,路径更改或 " env "简单地执行它在PATH env var中找到的第一件事。要切换到其他python,请在调用脚本之前将该Python \\可执行文件的目录放在路径之前。 一个非常骇人听闻的解决方案-如果检查失败,请使用此功能(可能会大大改进)来确定可用的最佳解释器,确定它是否可以接受,如果可以,请使用os.system或类似的方法重新启动您的脚本您的sys.argv使用新的解释器。
如果正在运行脚本,则可以将PATH变量设置为首先指向私有bin目录:
然后,当您执行python脚本时,它将使用python 2.4。您必须更改登录脚本才能更改PATH。 或者使用所需的显式解释器运行python脚本:
如果您(1)绝对要使用shebangs并且(2)能够在构建过程中使用Autotools,那么这里是一个解决方案。 我昨晚才发现,您可以使用autoconf宏 因此,您的过程将是:
然后您生成的Python脚本将始终具有适当的shebang。 因此,如果不切实际,至少有此解决方案。 @morais:这是一个有趣的想法,但我认为也许我们可以再走一步。也许有一种方法可以使用Ian Bicking的virtualenv进行以下操作:
我不知道virtualenv是否能够做到这一点,所以我很快就会解决它。 :) |
相关内容
-
如何在安装过程中部署DevExpress控件
如何在安装过程中部署DevExpress控件,控件,文件,本文目录如何...
-
IE脚本错误如何做Web脚本错误解决技巧
IE脚本错误如何做Web脚本错误解决技巧,,这个问题是由于这样的...
-
IPv6来了,网络该如何部署演进
IPv6来了,网络该如何部署演进,网络,技术,IPv6来了,网络该如何部...
-
当前页的脚本失败的解决方案_计算机错误
当前页的脚本失败的解决方案_计算机错误,,核心提示:最近打开网...
-
电脑关机整人脚本|电脑整人代码怎么关闭
电脑关机整人脚本|电脑整人代码怎么关闭,,电脑整人代码怎么关...
-
windows2008R2和金蝶|在windowsserver2008操作
windows2008R2和金蝶|在windowsserver2008操作系统部署用友e...
-
问道手电脑游脚本辅助|问道手游模拟器辅助脚本
问道手电脑游脚本辅助|问道手游模拟器辅助脚本哪个好用,,问道...
-
php脚本电脑关机|电脑关机的脚本
php脚本电脑关机|电脑关机的脚本,,1. 电脑关机的脚本推荐 Auto...
-
企业电脑系统部署软件|企业办公系统软件
企业电脑系统部署软件|企业办公系统软件,,1. 企业办公系统软件...
-
电脑会自动静音|电脑会自动静音脚本
电脑会自动静音|电脑会自动静音脚本,,1. 电脑会自动静音脚本关...
-
天龙八部助手脚本设置|天龙八部助手脚本教程
天龙八部助手脚本设置|天龙八部助手脚本教程,,天龙八部助手脚...
-
shell脚本报错说 bash解释器损坏,没有该目录或文
shell脚本报错说 bash解释器损坏,没有该目录或文件的解决方案...
-
ubuntu – 以rc.local的形式执行脚本而不是root
ubuntu – 以rc.local的形式执行脚本而不是root用户,脚本,作...
-
redis命令详解与使用场景举例——Script|脚本
redis命令详解与使用场景举例——Script|脚本,脚本,命令,EVAL ...
-
红警基地快捷键|红警部署的快捷键
红警基地快捷键|红警部署的快捷键,,红警部署的快捷键基本热键: ...