我在Windows 7上安装了python2,7_32bit“经典”。它集成在注册表中,所以当我双击一个.py文件时,它会被这个python执行...
但是很长一段时间以来,我使用python3,5_64bit的便携式Winpython安装(我推荐,顺便说一句)。
上周,我在DOS控制台中执行了这个命令:
"C:\\Program Files\\WinPython-64bit-3.5.1.1\\python-3.5.1.amd64\\scripts\\ipcluster" start -n 4 --profile-dir="cluster"
它按预期工作,并启动了4个python64bit_3,5进程。
现在,相同的ipcluster命令从“已安装”版本启动python32bit实例。 (我在Windows任务管理器中看到32位,我可以右键单击“打开位置文件”以确定该进程执行哪个python.exe)
当然,它会在Python 2和3之间产生兼容性问题(valueError不支持的pickle协议3)。
所以短期解决方案是卸载我的旧python,但我希望有一个很好的解决方案,因为这个程序应该在其他可能安装了不同Python的计算机上运行。
我想在“ipcluster_config.py”中写一些内容但我找不到“本地”引擎的任何示例或文档。 例如,这适用于SSH引擎:https://github.com/ipython/ipyparallel/pull/10
答案 0 :(得分:0)
解决方案是从你需要的python.exe调用ipcluster:
这个命令:
WinPython-64bit-3.5.1.2\python-3.5.1.amd64\python.exe "WinPython-64bit-3.5.1.1\python-3.5.1.amd64\Scripts\ipcluster.exe" start -n 4
给了我来自python 3.5.1.2 ....(而不是3.5.1.1)
的进程它实际上是它的工作方式,我猜...(现在很清楚为什么我得到了旧版本,但之前没有它如何工作)