小编awe*_*omo的帖子

如何修复某些系统无法识别的shebang标志

出于某种原因,-O我访问的Red Hat Enterprise Server(版本5.3)上的shebang行中无法识别(优化)标志.在其他系统上,可以毫无问题地识别该标志.

在OS X上执行下面的脚本工作正常.-O可以验证对标志的识别,因为它可以启用(当不存在时)或禁用(在给定时)if __debug__条件下的任何内容:

#!/usr/bin/env python -O                                                                                                                                                                       

if __name__ == '__main__':

    if __debug__:
        print 'lots of debugging output on'

    print 'Fin'
Run Code Online (Sandbox Code Playgroud)

在RHE系统上执行相同的脚本会导致:

/ usr/bin/env:python -O:没有这样的文件或目录

如果没有该-O标志,脚本将在RHE系统上正常执行(即,__debug__内置变量将设置为True).

有没有跨平台的方法来解决这个问题?是否有一种特定于平台的方法来解决shebang线上的标志问题给python解释器?

编辑: 设置__debug__变量(不使用shebang标志)解释器范围的任何其他变通方法也很有趣.

python shell shebang

8
推荐指数
2
解决办法
1844
查看次数

可以使用面向消息的中间件代替MPI来协调分布式计算吗?

面向消息的中间件我指的是诸如高级消息队列协议之类的技术.

显然AMQP是一个与MPI不同的野兽,但我认为使用AMQP可以轻松实现以主从方式运行的分布式内存计算,让AMQP处理公平的工作分配给奴隶,因为它们完成了部分而不是管理队列在主人中明确地工作.

AMQP(如果你有成千上万一起工作的机器)的附加好处是,一台机器的死也不会失速在计算进度MPI_BcastS,因为AMQP可以简单地使用扇出代替MPI_Bcast,这将是不阻止整体计算的进度.

是否有任何AMQP用于分布式计算中的任务协调的示例?

更新: Gearman为容错分布式计算提供了一种非常好的方法.

language-agnostic parallel-processing message-queue amqp

3
推荐指数
1
解决办法
1005
查看次数

是否为python的dict构造函数保留了kwargs?

当使用kwarg风格的dict初始化时:

In [3]: dict(a=1, b=2, c=3)
Out[3]: {'a': 1, 'b': 2, 'c': 3}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,定义键'from'会引发语法错误:

In [4]: dict(to=0, from=1)
------------------------------------------------------------
   File "<ipython console>", line 1
     dict(to=0, from=1)
                   ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

密钥'from'有什么特别之处?是否还有其他保留键用于kwarg风格的初始化?

我使用的是Python 2.6.

python

2
推荐指数
1
解决办法
905
查看次数