2020년 5월 24일 일요일

32 bit 에서 64 bit 실행 방법 in python


python에서 32 bit 64 bit python을 혼용하는 경우가 간혹 있습니다. windows에서 간혹 일어나는데 사유는 제공하는 windows dll이 32 bit 만 제공하는 경우입니다.
그렇지만 요즘에 많은 python AI관련 모듈들은 64 bit에서만 실행되므로 두개를 모두 실행해야하는 경우가 존재합니다.

일단 두개의 python이 설치되는지 시험 해봤습니다.
python.org에서 설치 파일을 다운받습니다.



여러개를 설치해봤는데 아래와 같은 폴더에 설치 됩니다.


기본 경로는 C:\Users\USER\AppData\Local\Programs\Python 여기이고 32 bit용은 '-32' 가 붙게 됩니다.

python이 실행될때 32 bit인지 64 bit 인지 알기 위해서는 platform.architecture() 값을 보면 됩니다.

테스트 프로그램은 32bit 프로그램을 만들고 결과가 파일이 저장되고 64 bit에서는 해당 내용을 로딩해서 출력하는 예제입니다.

32 bit python 소스 입니다.
import pickle
import platform

print("32")
print(platform.architecture())


listv = ['a', 'b', 'c' , {"abc":12} ]

with open('list.dat', 'wb') as f:
	pickle.dump(listv, f)
listv라는 변수에 결과값이 저장되어 있습니다.

64 bit python 소스 입니다.
import pickle
import platform

print("64")
print(platform.architecture())

with open('list.dat', 'rb') as f:
	data = pickle.load(f)

print(data)

저장된 데이터 파일을 로딩하는데 pickle을 이용하였습니다.

실행 방법
아래 형태의 배치 파일을 만들어서 실행하였습니다.

run.bat

C:\Users\USER\AppData\Local\Programs\Python\Python38-32\python test32.py
C:\Users\USER\AppData\Local\Programs\Python\Python38\python test64.py

실행결과
C:\Users\USER\Documents\python\3264>C:\Users\USER\AppData\Local\Programs\Python\Python38-32\python test32.py
32
('32bit', 'WindowsPE')

C:\Users\USER\Documents\python\3264>C:\Users\USER\AppData\Local\Programs\Python\Python38\python test64.py
64
('64bit', 'WindowsPE')
['a', 'b', 'c', {'abc': 12}]












댓글 없음:

댓글 쓰기