在64位Linux中安装32bit-python-3.4葡萄酒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在64位Linux中安装32bit-python-3.4葡萄酒相关的知识,希望对你有一定的参考价值。

我安装了运行得很好的64位Debian Stable Linux:

Linux debian 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) x86_64 GNU/Linux

我想在其中安装32位python-3.4(也支持XP Windows)。我试过了:

$ wine msiexec /i python-3.4.0.msi 

但得到以下错误:

err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:module:import_dll Loading library python34.dll (which is needed by L"C:\python34\python.exe") failed (error c000007b).
err:module:LdrInitializeThunk Main exe initialization for L"C:\python34\python.exe" failed, status c0000135
err:msi:ITERATE_Actions Execution halted, action L"UpdatePip" returned 1627
err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1627

试图运行它:

$ wine python

错误是:

wine: cannot find L"C:\windows\system32\python.exe"

我怎么解决这个问题?谢谢你的帮助。


编辑:这显然不是安装Python for Windows的理想方法,但它非常方便,因为可以在Linux中开发和测试应用程序,然后使用wine中的pyinstaller为Windows创建可执行文件。这在Debian Stable 32位Linux中运行良好。

Python安装在~/.wine/drive_c/python34中,如下所示:

$ ls -l
total 4168
drwxr-xr-x 34 cardio cardio    4096 Feb 13 15:10 Lib
-rwxr-xr-x  1 cardio cardio  102400 Mar 16  2014 py.exe
-rw-r--r--  1 cardio cardio 4044800 Mar 16  2014 python34.dll
-rwxr-xr-x  1 cardio cardio  102912 Mar 16  2014 pyw.exe
drwxr-xr-x  2 cardio cardio    4096 Feb 12 08:23 Scripts
drwxr-xr-x  5 cardio cardio    4096 Feb 11 23:10 Tools

但是在运行py.exe时:

$ wine ./py.exe 
Can't find a default Python.

以下也不起作用:

$ wine python34.exe
wine: cannot find L"C:\windows\system32\python34.exe"

编辑:正如@laszlowaty在评论中所建议的,我在Windows中安装了python34(64位)并将python34文件夹复制到wine c_disk,但它不起作用:

$ wine ./python.exe
err:module:import_dll Library python34.dll (which is needed by L"C:\Python34\python.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\Python34\python.exe" failed, status c0000135

我在Windows中找不到python34.dll。


编辑:我不得不重新安装我的Debian Stable 64位Linux发行版。在此之后我再次尝试和python-3.4.0.msi这次完美安装。谢谢大家的帮助。

答案

在葡萄酒上安装python是完全合理的。 - 跨平台开发 - 在葡萄酒下使用的脚本开发(窗口和葡萄酒之间存在差异需要加以解决,例如在注册表中) - 我们使用wine来替换一些windows box,因为它在很多情况下更快

如果您创建应该在Windows上运行的多处理多平台代码,我强烈建议在Windows / wine上进行测试,因为Windows是最受限制的操作系统(我在谈论:Windows上没有分叉,Windows上没有信号,功能和类必须是可选择的,以产生一个新的进程,等...)

现在我在Windows上开发的大多数程序,并在Linux / Osx上并行测试它们(因为通常在那里它们很可能会运行)

我在这里做了一个构建示例,它包含bash脚本,可以在你的Ubuntu机器上自动安装Wine和Python:

https://github.com/bitranox/install_python_on_wine_and_travis

另一答案

这是一种可怕的方式。 Python是作为portable构建的,这意味着你可以为你的debian安装python(实际上有debian附带的python,但你可以安装更多版本的python)。

如果您有一些特定的理由使用Windows版本,wine不是一种方法。更好(更简单)的方法是使用VirtualBox并模拟整个窗口。我甚至不确定是否可以使用wine完全运行python。

编辑:你可以去葡萄酒的C驱动器,找到你的python.exe文件在哪里?

以上是关于在64位Linux中安装32bit-python-3.4葡萄酒的主要内容,如果未能解决你的问题,请参考以下文章

windows server2012R2 64位系统中安装SQL server2008 32位最大使用内存是多少?

如何在Linux系统中安装OpenOffice

如何在vmware workstation 8虚拟机的linux系统中安装vmware tools

如何在VM虚拟机中安装linux suse11 64位系统

如何在VM虚拟机中安装linux suse11 64位系统

在VMware虚拟机中安装Linux系统(Red Hat Enterprise Linux7 64位系统)