2009-08-16 3 views
3

Vista64 컴퓨터에서 Python 2.4.3.64bit 비스타에서 os.environ [ "ProgramFiles"]에 대한 Python의 값이 잘못되었습니다.

다음이 개 변수는 환경에 있습니다

ProgramFiles=C:\Program Files 
ProgramFiles(x86)=C:\Program Files (x86) 

하지만 실행할 때 내가 얻을

import os 
print os.environ["ProgramFiles"] 
print os.environ["ProgramFiles(x86)"] 

을 다음

C:\Program Files (x86) 
C:\Program Files (x86) 

어떤 생각이 어떻게이 얻을 수 있습니다 "ProgramFiles"의 올바른 값은 무엇입니까? Wikipedia page에서

+1

이 동작은 파이썬 실행 파일이 32 비트인지 64 비트인지에 따라 다릅니다. 어떤 것을 말하세요. – Macke

답변

11

:

Windows 및 다른 사람의 설치된 모든 프로그램을 저장하는 프로그램 파일 디렉토리,이 변수가 가리키는

%의의 ProgramFiles %의. 영어 시스템의 기본값은 C : \ Program Files입니다. 64 비트 버전의 Windows (XP, 2003, Vista)에는 기본적으로 C : \ Program Files (x86)의 % ProgramFiles (x86) % 및 C : \ Program Files의 % ProgramW6432 %도 있습니다. % ProgramFiles % 자체는 환경 변수를 요청하는 프로세스 자체가 32 비트 또는 64 비트인지 여부에 달려 있습니다 (Windows-on-Windows 64 비트 리디렉션으로 인해 발생 함).

C : \ Program Files를 얻으려면 분명히 %ProgramW6432%을 확인하고 싶을 것입니다.

4

Python 2.5.4를 설치하고 다시 시도 할 수 있습니까? 업데이트 : 2.5.4의 x64 릴리스를 의미했습니다. AFAIK 2.4는 x64가 아닌 Windows x86 및 IA64에서만 사용할 수있었습니다.

승 7 x64에서 2.5.4 x64를 실행 중이고 같은 결과를 얻지는 않지만 문제가 Python 또는 Vista와 관련되어 있는지 확실하지 않습니다.

Python 2.5.4 (r254:67916, Dec 23 2008, 15:19:34) [MSC v.1400 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> print os.environ["ProgramFiles"] 
C:\Program Files 
>>> print os.environ["ProgramFiles(x86)"] 
C:\Program Files (x86) 
>>> 
6

32 비트 버전의 Python 인터프리터를 사용하고 있습니다. 32 비트 소프트웨어를 사용할 때, WOW64는 폴더와 대체물을 가진 새로운 환경을 만들 것입니다.

당신은 내가 64 비트 명령 프롬프트의 32 비트 버전을 시작하여 단지에 대해 이야기하고있는 것을 볼 수 있습니다

64 비트 cmd.exe를 :

C:\Documents and Settings\Administrator>set prog 
ProgramFiles=C:\Program Files 
ProgramFiles(x86)=C:\Program Files (x86) 

32을 비트 cmd.exe를 :

C:\WINDOWS\SysWOW64>set prog 
ProgramFiles=C:\Program Files (x86) 
ProgramFiles(x86)=C:\Program Files (x86) 
ProgramW6432=C:\Program Files 

는 64 비트 프로그램 파일을 가져 오려면, 위의 두 번째 발췌에서 볼 수 있듯이

, 당신은 ProgramW6432 환경 변수를 사용해야합니다.

다른 접근법은 미래에 발생할 수있는 다른 문제도 해결할 수 있습니다 (특히 레지스트리 설정과 함께!) : 64 비트 버전의 Python을 사용하십시오. 64 비트를 다운로드 할 위치를 모르더라도 버전 2.4.

관련 문제