我试图让 python 应用程序在 Windows 上运行,但我收到 ZMQError: Protocol not supported 这是因为 Windows 不支持 ipc。 根据我的阅读,从 ipc 到 tcp 协议(protocol)的更改应该与更改 bind() 中使用的字符串一样简单。
master_addr = 'ipc://{0}/sailfish-master-{1}_{2}'.format(
tempfile.gettempdir(), os.getpid(), subdomain.id)
ipc_files.append(master_addr.replace('ipc://', ''))
sock = ctx.socket(zmq.PAIR)
sock.bind(master_addr)
sockets.append(sock)
如果我将 ipc://更改为 tcp://我会得到 ZMQError: Invalid argument 所以我想事情没那么简单。 您能否指导我完成为 Windows 修复此问题的过程,或者告诉我我是否在问一个愚蠢的问题。
你可以看到完整的脚本https://github.com/sailfish-team/sailfish/blob/master/sailfish/master.py上面的代码来自第 250 行。 SailfishCFD 是用于 GPU(CUDA、OpenCL)的 Python Lattice Boltzmann (LBM) 仿真包
非常感谢!
最佳答案
这意味着,无论传输类是什么,都可以传递消息 { inproc:// | ipc:// | tcp:// | pgm:// | epgm:// }正在“幕后”使用。
这并不意味着在任何一种情况下都可以使用相同的(特定于传输的)寻址语法。
master_addr = 'ipc://{0}/sailfish-master-{1}_{2}'.format( tempfile.gettempdir(),
os.getpid(),
subdomain.id
)
sock.bind( master_addr ) # works on Linux/ipc
# .bind( <<<tcp_addr>>> ) # fails on "{0}{1}{2}".format-addressing"
Windows 不允许使用 ipc:运输级。这种需要更改的情况会影响您的源代码的范围更广一些,因为在寻址方面有一些额外的与 ipc 相关的假设。
见于:
addr = "tcp://{0}".format( self._subdomain_addr_map[nbid] ) # tcp://<ip>:<port>?
addr = "tcp://{0}".format( self._iface ) # ref. #104 missing ":<port>" part!
summary_addr = 'tcp://127.0.0.1:{0}'.format( config._zmq_port ) # port free?
构建问题。您的代码对 IPC 管道使用变量“fileName”-like 命名(寻址)。从这里开始。
try:
print "DEBUG: Try to .bind() a ", master_addr
sock.bind( master_addr )
print " ==OK."
except ZMQError as Exc:
print " ! FAILED:"
# log & handle Exc details
except:
print " ! FAILED: a non-ZMQ-related issue"
# log & handle Exc details
请确保您不在 Windows 上执行命令 zmq.bind() 以触摸“特权” /already-used/firewall-“blocked” TCP-port#-s.
已检查这些系统设置并使 zmq-call(s) 语法与 的 ZeroMQ API 兼容 tcp:// 运输类,
即:
"tcp://<ip_address>:<port#>" # asString
或
"tcp://<aDnsResolvableHostNAME>:<port#>" # asString
你有它。
关于python - 更改 IPC ://to tcp://python zmq (Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26712553/
如何正确创建Rails迁移,以便将表更改为MySQL中的MyISAM?目前是InnoDB。运行原始执行语句会更改表,但它不会更新db/schema.rb,因此当在测试环境中重新创建表时,它会返回到InnoDB并且我的全文搜索失败。我如何着手更改/添加迁移,以便将现有表修改为MyISAM并更新schema.rb,以便我的数据库和相应的测试数据库得到相应更新? 最佳答案 我没有找到执行此操作的好方法。您可以像有人建议的那样更改您的schema.rb,然后运行:rakedb:schema:load,但是,这将覆盖您的数据。我的做法是(假设
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我尝试使用不同的ssh_options在同一阶段运行capistranov.3任务。我的production.rb说:set:stage,:productionset:user,'deploy'set:ssh_options,{user:'deploy'}通过此配置,capistrano与用户deploy连接,这对于其余的任务是正确的。但是我需要将它连接到服务器中配置良好的an_other_user以完成一项特定任务。然后我的食谱说:...taskswithoriginaluser...task:my_task_with_an_other_userdoset:user,'an_othe
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
假设我有一个FireNinja我的数据库中的对象,使用单表继承存储。后来才知道他真的是WaterNinja.将他更改为不同的子类的最干净的方法是什么?更好的是,我很想创建一个新的WaterNinja对象并替换旧的FireNinja在数据库中,保留ID。编辑我知道如何创建新的WaterNinja来self现有FireNinja的对象,我也知道我可以删除旧的并保存新的。我想做的是改变现有项目的类别。我是通过创建一个新对象并执行一些ActiveRecord魔法来替换行,还是通过对对象本身做一些疯狂的事情,或者甚至通过删除它并使用相同的ID重新插入来做到这一点,这是问题的一部分。
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o