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

时间:2018-02-13 09:46:08

标签: python linux wine

我安装了运行得非常好的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这次完美安装。谢谢大家的帮助。

3 个答案:

答案 0 :(得分:1)

在wine上安装python非常有意义。 -跨平台开发 -开发葡萄酒下使用的脚本(需要修改窗口和葡萄酒之间的区别,例如在注册表中) -我们用酒代替一些窗户,因为在很多情况下它会更快

如果您创建了应该在Windows上运行álso的多处理多平台代码,我强烈建议在Windows / Wine上进行测试,因为Windows是操作系统中受限制最多的操作系统(我说的是:Windows上没有分叉,Windows上没有Signals) Windows,函数和类必须是可拾取的,以生成新进程,等等。)

如今,我大多数程序是在Windows上开发的,并在Linux / Osx上进行并行测试(因为通常它们很可能仍在运行)

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

https://github.com/bitranox/install_python_on_wine_and_travis

答案 1 :(得分:0)

我已将此指南用于3.4和3.5。这是您需要做的:

#1 Use Wine 2.4
apt install add-apt-repository
add-apt-repository ppa:wine/wine-builds
apt install --install-recommends winehq-devel


#2 Use winetricks (a newer one that what is available in the repo)
wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
./winetricks -q win10
./winetricks vcrun2015

#3 run the installer
wine python-3.4.4.exe

来源:http://realtechtalk.com/How_To_Install_python_34_35_and_up_on_Linux_with_wine_Working_Solution-2288-articles

答案 2 :(得分:-2)

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

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

编辑:您可以转到葡萄酒中的C驱动器并查找python.exe文件的位置吗?