와인에서 휴대용 Python3 실행

와인에서 휴대용 Python3 실행

Wine에 Python을 설치한다는 것은 일반적으로 그래픽 설치 프로그램을 실행하는 것을 의미하지만 해당 옵션이 없어서 다운로드했습니다.Windows x86-64 내장 zip 파일~에서파이썬 3.6.0그리고 패키지를 열어보세요.

그러나 실행하면 wine python.exe오류가 발생합니다.

wine: Call from 0x7b83c3ae to unimplemented function api-ms-win-crt-runtime-l1-1-0.dll._initialize_onexit_table, aborting
err:module:attach_process_dlls "python35.dll" failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for L"Z:\\<path>\\python.exe" failed, status 80000100

이에 대해 우리는 무엇을 할 수 있나요? 와인 버전은 1.8입니다.

답변1

Python은 Wine이 실행되는 모든 시스템에서 잘 실행되기 때문에 Wine에서 Python을 실행할 필요가 있는 사용자는 거의 없습니다. 그러나 이렇게 하는 데에는 이유가 있고, 여러분에게도 이유가 있는 것 같습니다(PyInstaller를 사용하여 Windows 설치 프로그램을 빌드하는 것).

물론 특정 버전의 Python은 특정 버전의 Wine에서 실행됩니다. 안타깝게도 작동하지 않는 조합이 발생했습니다.


무슨 일이에요

만난 것 같군요버그 #39437: "Visual Studio 2015로 컴파일된 C++ 프로그램이 실행되지 않습니다.".

_initialize_onexit_table실행 중인 프로그램은 라는 라이브러리에서 호출된 함수를 사용합니다 api-ms-win-crt-runtime-l1-1-0.dll.

Wine은 자체 버전을 제공하지만 최근(2016년 중반)에야 api-ms-win-crt-runtime-l1-1-0.dll이 기능을 지원했습니다. _initialize_onexit_tableWine 2.0은 이 기능을 지원하는 최초의 안정적인 버전이었지만 그 이후로 개발 버전에서도 지원되었습니다.1.9.9.

Wine 2.0은 앞으로 몇 주 안에 출시될 예정이지만 출시 후보는 이미 나와 있습니다. 와인 2.0출시된이 질문이 게시된 지 몇 주 후입니다.

와인을 업그레이드할 수 없나요?

Windows 컴퓨터에서는 이 라이브러리의 Microsoft 버전을 사용합니다. Microsoft 버전의 복사본이 있는 경우 내장 버전 대신 이를 사용하도록 Wine을 구성할 수 있습니다.

Wine 시스템을 사용하여 override이를 수행 할 수 있습니다(wincfg 또는 설정 WINEDLLPATHWINEDLLOVERRIDES환경 변수 사용).

라는 프로젝트가 있습니다.와인 제조 팁Microsoft의 라이브러리를 다운로드하고 이를 사용하도록 Wine을 구성합니다.

요약하자면

Wine 버전을 업그레이드하거나 Python 버전을 다운그레이드하세요.

업그레이드할 수 없는 경우 몇 가지 해결 방법이 있지만 업그레이드가 최선의 선택일 수 있습니다.

관련 정보