【问题标题】:How to tell ipcluster which python.exe to start如何告诉 ipcluster 启动哪个 python.exe
【发布时间】:2016-03-11 14:03:47
【问题描述】:

我在我的 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任务管理器中看到32bit,可以右击“打开位置文件”确定进程执行的是哪个python.exe)

当然,它会在 Python 2 和 3 之间产生兼容性问题(valueError unsupported pickle protocol 3)。

所以短期解决方案是卸载我的旧 python,但我希望有一个好的解决方案,因为这个程序应该在其他可能也安装了不同 Python 的计算机上运行。

我猜想在“ipcluster_config.py”中有一些东西要写,但我找不到“本地”引擎的任何示例或文档。 例如,这是一个 SSH 引擎:https://github.com/ipython/ipyparallel/pull/10

【问题讨论】:

    标签: python parallel-processing ipython


    【解决方案1】:

    解决办法是从你需要的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)的进程

    这实际上是它的工作方式,我猜......(现在很清楚为什么我得到了旧版本,但不知道它以前是如何工作的)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 2020-10-13
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多